home *** CD-ROM | disk | FTP | other *** search
- '
- '
- ' --------------------INITIALISIERUNG-----------------
- '
- CLS
- DEFMOUSE 8
- SHOWM
- $I+
- $U+
- '
- DIM voice#(64,730) ! 64 Vioces á 730 Voicedaten werden erwartet
- '
- IF EXIST("VCE_EDIT.PIC") !
- screen$=STRING$(32000,0) !
- BLOAD "VCE_EDIT.PIC",VARPTR(screen$) ! Bildmaske, wenn vorhanden, laden
- SPUT screen$ !
- ELSE !
- PAUSE 10
- ALERT 1,"Kann Bildmaske nicht finden| | (VCE_EDIT.PIC)",1," ENDE ",dummy#
- END
- ENDIF
- GET 35,280,119,376,pitch_eg$
- '
- GOSUB list_voicename
- GOSUB list_algorithm
- GOSUB list_lfo
- GOSUB list_pitch_eg
- GOSUB list_oscillator
- GOSUB list_eg
- GOSUB list_scaling_mode
- GOSUB list_sensitivity
- GOSUB list_pitch_bend
- GOSUB list_portamento
- GOSUB list_modulations_wheel
- GOSUB list_foot_control
- GOSUB list_breath_control
- GOSUB list_aftertouch
- kanal#=144
- vn#=1
- DEFTEXT 1,0,0,6
- TEXT 5,40,"01"
- DEFTEXT 1,0,0,4
- '
- '
- ' ---------------- HAUPTPROGRAMM (ANFANG) -----------------
- '
- DO
- MOUSE x#,y#,k#
- IF k#
- IF x#>2 AND x#<24
- IF y#>63 AND y#<95
- GOSUB plus
- ENDIF
- IF y#>101 AND y#<134
- GOSUB minus
- ENDIF
- ENDIF
- ELSE
- IF l#=1
- CLR l#
- GOSUB list_voicename
- GOSUB list_algorithm
- GOSUB list_lfo
- GOSUB list_pitch_eg
- GOSUB list_oscillator
- GOSUB list_eg
- GOSUB list_scaling_mode
- GOSUB list_sensitivity
- GOSUB list_pitch_bend
- GOSUB list_portamento
- GOSUB list_modulations_wheel
- GOSUB list_foot_control
- GOSUB list_breath_control
- GOSUB list_aftertouch
- SHOWM
- ENDIF
- ENDIF
- IF y#<24
- IF x#<71 AND MOUSEK=1
- DEFTEXT 1,1,0,13
- TEXT 18,18,"Autor"
- DEFTEXT 1,0,0,4
- GOSUB autor
- PRINT AT(1,1);CHR$(7);
- DEFTEXT 1,0,0,13
- TEXT 18,18,"Autor"
- DEFTEXT 1,0,0,4
- WHILE MOUSEK<>0
- WEND
- ENDIF
- IF x#>71 AND x#<138 AND MOUSEK=1
- DEFTEXT 1,1,0,13
- TEXT 89,18,"File"
- DEFTEXT 1,0,0,4
- GOSUB file
- PRINT AT(1,1);CHR$(7);
- DEFTEXT 1,0,0,13
- TEXT 89,18,"File"
- DEFTEXT 1,0,0,4
- WHILE MOUSEK<>0
- WEND
- ENDIF
- IF x#>138 AND x#<236 AND MOUSEK=1
- DEFTEXT 1,1,0,13
- TEXT 161,18,"Receive"
- DEFTEXT 1,0,0,4
- GOSUB clr_midibuffer
- GOSUB receive_mididata
- CLR test%
- FOR i%=1 TO 730
- IF voice#(vn#,i%)<>0
- INC test%
- ENDIF
- NEXT i%
- IF test%>0
- GOSUB list_voicename
- GOSUB list_algorithm
- GOSUB list_lfo
- GOSUB list_pitch_eg
- GOSUB list_oscillator
- GOSUB list_eg
- GOSUB list_scaling_mode
- GOSUB list_sensitivity
- GOSUB list_pitch_bend
- GOSUB list_portamento
- GOSUB list_modulations_wheel
- GOSUB list_foot_control
- GOSUB list_breath_control
- GOSUB list_aftertouch
- ENDIF
- PRINT AT(1,1);CHR$(7);
- DEFTEXT 1,0,0,13
- TEXT 161,18,"Receive"
- DEFTEXT 1,0,0,4
- WHILE MOUSEK<>0
- WEND
- ENDIF
- IF x#>236 AND x#<305 AND MOUSEK=1
- DEFTEXT 1,1,0,13
- TEXT 256,18,"Send"
- DEFTEXT 1,0,0,4
- GOSUB send_data
- PRINT AT(1,1);CHR$(7);
- DEFTEXT 1,0,0,13
- TEXT 256,18,"Send"
- DEFTEXT 1,0,0,4
- WHILE MOUSEK<>0
- WEND
- ENDIF
- IF x#>305 AND x#<378 AND MOUSEK=1
- DEFTEXT 1,1,0,13
- TEXT 326,18,"Edit"
- DEFTEXT 1,0,0,4
- GOSUB voice_edit
- PRINT AT(1,1);CHR$(7);
- DEFTEXT 1,0,0,13
- TEXT 326,18,"Edit"
- DEFTEXT 1,0,0,4
- WHILE MOUSEK<>0
- WEND
- ENDIF
- IF x#>378 AND x#<463 AND MOUSEK=1
- DEFTEXT 1,1,0,13
- TEXT 400,18,"Print"
- DEFTEXT 1,0,0,4
- GOSUB print_data
- PRINT AT(1,1);CHR$(7);
- DEFTEXT 1,0,0,13
- TEXT 400,18,"Print"
- DEFTEXT 1,0,0,4
- WHILE MOUSEK<>0
- WEND
- ENDIF
- IF x#>463 AND x#<559 AND MOUSEK
- IF kanal#<159 AND MOUSEK=1
- INC kanal#
- DEFTEXT 1,0,0,13
- TEXT 534,18," "
- TEXT 534,18,kanal#-143
- DEFTEXT 1,0,0,4
- SHOWM
- ENDIF
- IF kanal#>144 AND MOUSEK=2
- DEC kanal#
- DEFTEXT 1,0,0,13
- TEXT 534,18," "
- TEXT 534,18,kanal#-143
- DEFTEXT 1,0,0,4
- SHOWM
- ENDIF
- WHILE MOUSEK<>0
- WEND
- ENDIF
- IF x#>559 AND x#<637 AND MOUSEK=1
- PAUSE 10
- ALERT 2," | |Programm beenden ",1," JA | NEIN ",dummy#
- IF dummy#=1
- END
- ENDIF
- ENDIF
- ENDIF
- LOOP
- '
- ' ---------------- HAUPTPROGRAMM (ENDE) ------------------
- '
- '
- ' -------- DATA für Procedure "list_algorithm" ------------
- transpose:
- DATA C1 ,C#1,D1 ,D#1,E1 ,F1 ,F#1,G1 ,G#1,A1 ,A#1,"B1 "
- DATA C2 ,C#2,D2 ,D#2,E2 ,F2 ,F#2,G2 ,G#2,A2 ,A#2,"B2 "
- DATA C3 ,C#3,D3 ,D#3,E3 ,F3 ,F#3,G3 ,G#3,A3 ,A#3,"B3 "
- DATA C4 ,C#4,D4 ,D#4,E4 ,F4 ,F#4,G4 ,G#4,A4 ,A#4,"B4 "
- DATA C5 ,ERR
- '
- '
- '
- '
- ' ------------ DATA für Procedure "list_lfo" --------------
- wave:
- DATA triangle,saw down,saw up ,square ,sine ,"s/hold "
- '
- '
- '
- '
- ' ---------- DATA für Procedure "list_pitch_eg" -----------
- rng:
- DATA 8oct.,2oct.,1oct.,½oct.
- '
- '
- '
- '
- ' --------- DATA für Procedure "list_oscillator" ----------
- fixed:
- DATA 0,23,47,72,96,122,148,175,202,230,259,288,318,349,380,413,445,479,514,549
- DATA 585,622,660,698,738,778,820,862,905,950,995,1042,1089,1138,1188,1239,1291
- DATA 1344,1399,1455,1512,1570,1630,1692,1716,1818,1884,1951,2020,2090,2162
- DATA 2236,2311,2388,2467,2548,2631,2715,2802,2890,2981,3074,3169,3266,3365,3467
- DATA 3571,3677,3786,3898,4012,4129,4248,4370,4495,4623,4754,4888,5026,5166,5310
- DATA 5457,5607,5761,5918,6079,6244,6413,6586,6762,6943,7128,7318,7511,7718,7913
- DATA 8120,8333,8550,8772
- '
- '
- '
- '
- ' -------- DATA für Procedure "list_scaling_mode" ---------
- bp:
- DATA A-1 ,A#-1,"B-1 "
- DATA C0 ,C#0 ,D0 ,D#0 ,E0 ,F0 ,F#0 ,G0 ,G#0 ,A0 ,A#0 ,"B0 "
- DATA C1 ,C#1 ,D1 ,D#1 ,E1 ,F1 ,F#1 ,G1 ,G#1 ,A1 ,A#1 ,"B1 "
- DATA C2 ,C#2 ,D2 ,D#2 ,E2 ,F2 ,F#2 ,G2 ,G#2 ,A2 ,A#2 ,"B2 "
- DATA C3 ,C#3 ,D3 ,D#3 ,E3 ,F3 ,F#3 ,G3 ,G#3 ,A3 ,A#3 ,"B3 "
- DATA C4 ,C#4 ,D4 ,D#4 ,E4 ,F4 ,F#4 ,G4 ,G#4 ,A4 ,A#4 ,"B4 "
- DATA C5 ,C#5 ,D5 ,D#5 ,E5 ,F5 ,F#5 ,G5 ,G#5 ,A5 ,A#5 ,"B5 "
- DATA C6 ,C#6 ,D6 ,D#6 ,E6 ,F6 ,F#6 ,G6 ,G#6 ,A6 ,A#6 ,"B6 "
- DATA C7 ,C#7 ,D7 ,D#7 ,E7 ,F7 ,F#7 ,G7 ,G#7 ,A7 ,A#7 ,"B7 "
- DATA "C8 "
- '
- '
- '
- '
- ' ------------------PROCEDUREN----------------------
- '
- > PROCEDURE autor
- ALERT 0,"Programm von:| Udo Hortian| Flandersbach 29a | 5603 Wülfrath",1," RETURN ",dummy#
- RETURN
- > PROCEDURE file
- CLR dummy#
- PAUSE 10
- ALERT 2," VOICE-DATEN | | |Voice:",1," LOAD | SAVE | ZURÜCK ",dummy#
- IF dummy#=1
- FILESELECT "\*.SND","",filename$
- IF filename$<>""
- OPEN "I",#1,filename$
- CLR b$
- a$="YAMAHA TX802"
- FOR i%=1 TO 12
- a%=INP(#1)
- b$=b$+CHR$(a%)
- NEXT i%
- IF b$=a$
- FOR i%=511 TO 730
- a%=INP(#1)
- voice#(vn#,i%)=a%
- NEXT i%
- CLOSE #1
- GOSUB list_voicename
- GOSUB list_algorithm
- GOSUB list_lfo
- GOSUB list_pitch_eg
- GOSUB list_oscillator
- GOSUB list_eg
- GOSUB list_scaling_mode
- GOSUB list_sensitivity
- GOSUB list_pitch_bend
- GOSUB list_portamento
- GOSUB list_modulations_wheel
- GOSUB list_foot_control
- GOSUB list_breath_control
- GOSUB list_aftertouch
- ELSE
- CLOSE #1
- PAUSE 10
- ALERT 1,"Falsches Datenformat| | ",1," RETURN ",dummy#
- ENDIF
- ENDIF
- ENDIF
- IF dummy#=2
- CLR test%
- '
- FOR i%=517 TO 565
- IF voice#(vn#,i%)<>0
- INC test%
- ENDIF
- NEXT i%
- FOR i%=574 TO 728
- IF voice#(vn#,i%)<>0
- INC test%
- ENDIF
- NEXT i%
- '
- IF test%>0
- FILESELECT "\*.SND","",filename$
- IF filename$<>""
- OPEN "O",#1,filename$
- a$="YAMAHA TX802"
- FOR i%=1 TO 12
- OUT #1,ASC(MID$(a$,i%,1))
- NEXT i%
- FOR i%=511 TO 730
- OUT #1,voice#(vn#,i%)
- NEXT i%
- CLOSE #1
- ENDIF
- ELSE
- PAUSE 10
- ALERT 1,"Keine Daten",1," RETURN ",dummy#
- ENDIF
- ENDIF
- RETURN
- ' ---------------------------------VOICE-DATEN EMPANGEN + LISTEN (ANFANG)
- > PROCEDURE clr_midibuffer
- DO
- a#=0
- IF INP?(3)
- a#=INP(3)
- a#=1
- ENDIF
- EXIT IF a#=0
- LOOP
- RETURN
- > PROCEDURE receive_mididata
- PAUSE 10
- ALERT 2,"(Abbruch durch ESC)| |Empfangsbereit bestätigen:| | ",1," JA | NEIN ",dummy#
- IF dummy#=1
- DO
- a#=0
- IF INP?(3)
- a#=INP(3)
- a#=1
- ENDIF
- EXIT IF a#=0
- LOOP
- FOR vn#=1 TO 64
- OUT 3,192
- OUT 3,vn#-1
- a$=STRING$(510,0)
- OUT 3,240 !Voice-Daten ACED
- OUT 3,67
- OUT 3,32
- OUT 3,5
- OUT 3,247
- DO
- a$=a$+INPMID$
- EXIT IF LEN(a$)=567
- LOOP
- OUT 3,240 !Voice-Daten VCED
- OUT 3,67
- OUT 3,32
- OUT 3,0
- OUT 3,247
- DO
- a$=a$+INPMID$
- EXIT IF LEN(a$)=730
- LOOP
- FOR i%=1 TO 730
- voice#(vn#,i%)=ASC(MID$(a$,i%,1))
- NEXT i%
- DEFTEXT 1,0,0,6
- IF vn#<10
- TEXT 5,40,"0"
- TEXT 13,40,vn#
- ELSE
- TEXT 5,40,vn#
- ENDIF
- DEFTEXT 1,0,0,4
- GOSUB list_voicename
- IF MOUSEK>0
- GOSUB list_algorithm
- GOSUB list_lfo
- GOSUB list_pitch_eg
- GOSUB list_oscillator
- GOSUB list_eg
- GOSUB list_scaling_mode
- GOSUB list_sensitivity
- GOSUB list_pitch_bend
- GOSUB list_portamento
- GOSUB list_modulations_wheel
- GOSUB list_foot_control
- GOSUB list_breath_control
- GOSUB list_aftertouch
- ENDIF
- EXIT IF INP?(2)
- NEXT vn#
- ausgang:
- vn#=1
- DEFTEXT 1,0,0,6
- IF vn#<10
- TEXT 5,40,"0"
- TEXT 13,40,vn#
- ELSE
- TEXT 5,40,vn#
- ENDIF
- DEFTEXT 1,0,0,4
- ENDIF
- RETURN
- > PROCEDURE list_voicename
- CLR a$
- FOR i%=719 TO 728
- a$=a$+CHR$(voice#(vn#,i%))
- NEXT i%
- DEFTEXT 1,0,0,6
- TEXT 130,40,a$ ! Voicename
- DEFTEXT 1,0,0,4
- RETURN
- > PROCEDURE list_algorithm
- x#=129
- TEXT x#,70," "
- TEXT x#,70,voice#(vn#,708)+1 ! ALG
- TEXT x#,82,voice#(vn#,709) ! FBL
- IF voice#(vn#,710)=1
- a$="ON "
- ELSE
- a$="OFF"
- ENDIF
- TEXT x#,94,a$ ! OSC.Sync
- RESTORE transpose
- FOR i%=0 TO voice#(vn#,718)
- READ transposedata$
- NEXT i%
- TEXT x#,106,transposedata$ ! Transpose
- IF voice#(vn#,532)=0
- keymode$="Poly"
- ELSE
- keymode$="Mono"
- ENDIF
- TEXT x#,120,keymode$ ! Key Mode
- RETURN
- > PROCEDURE list_lfo
- x#=104
- RESTORE wave
- FOR i%=0 TO voice#(vn#,716)
- READ wavedata$
- NEXT i%
- TEXT x#,147,wavedata$ ! Wave
- TEXT x#,161," "
- TEXT x#,161,voice#(vn#,711) ! Speed
- TEXT x#,174," "
- TEXT x#,174,voice#(vn#,712) ! Delay
- IF voice#(vn#,530)=0
- a$="single"
- ELSE
- a$="multi "
- ENDIF
- TEXT x#,186,a$ ! Mode
- TEXT x#,198," "
- TEXT x#,198,voice#(vn#,713) ! Pmd
- TEXT x#,211," "
- TEXT x#,211,voice#(vn#,714) ! Amd
- IF voice#(vn#,715)=0
- a$="OFF"
- ELSE
- a$="ON "
- ENDIF
- TEXT x#,224,a$ ! Sync
- RETURN
- > PROCEDURE list_pitch_eg
- x#=124
- RESTORE rng
- FOR i%=0 TO voice#(vn#,529)
- READ rng$
- NEXT i%
- TEXT x#,250,rng$ ! Range
- IF voice#(vn#,531)=0
- a$="OFF"
- ELSE
- a$="ON "
- ENDIF
- TEXT x#,262,a$ ! Velocity
- TEXT x#,275,"0" ! RS ???
- TEXT x#,288," "
- TEXT x#,288,voice#(vn#,700) ! R1
- TEXT x#,300," "
- TEXT x#,300,voice#(vn#,701) ! R2
- TEXT x#,312," "
- TEXT x#,312,voice#(vn#,702) ! R3
- TEXT x#,324," "
- TEXT x#,324,voice#(vn#,703) ! R4
- TEXT x#,336," "
- TEXT x#,336,voice#(vn#,704) ! L1
- TEXT x#,349," "
- TEXT x#,349,voice#(vn#,705) ! L2
- TEXT x#,362," "
- TEXT x#,362,voice#(vn#,706) ! L3
- TEXT x#,374," "
- TEXT x#,374,voice#(vn#,707) ! L4
- RETURN
- > PROCEDURE list_oscillator
- CLR op#
- FOR x#=280 TO 445 STEP 33
- IF voice#(vn#,696+op#)=0
- a$="ratio"
- ELSE
- a$="fixed"
- ENDIF
- TEXT x#,70,a$ ! Mode
- IF voice#(vn#,696+op#)=0 ! ratio
- IF voice#(vn#,697+op#)=0
- coarse#=0.5
- ADD coarse#,voice#(vn#,698+op#)*0.005
- ELSE
- coarse#=voice#(vn#,697+op#)
- ADD coarse#,voice#(vn#,698+op#)*(0.01*coarse#)
- ENDIF
- TEXT x#,82," "
- TEXT x#,82,coarse#
- ELSE
- RESTORE fixed
- FOR i%=0 TO voice#(vn#,698+op#)
- READ fix#
- NEXT i%
- n%=voice#(vn#,697+op#)
- DO
- EXIT IF n%<4
- SUB n%,4
- LOOP
- fixed#=0.1
- FOR i%=0 TO n%
- MUL fixed#,10
- NEXT i%
- fix#=fix#/(1000/fixed#)
- ADD fixed#,fix#
- TEXT x#,82," "
- TEXT x#,82,fixed#
- ENDIF
- TEXT x#+1,94," "
- TEXT x#+1,94,voice#(vn#,699+op#)-7 ! Detune
- SUB op#,21
- NEXT x#
- RETURN
- > PROCEDURE list_eg
- CLR op#
- FOR x#=280 TO 445 STEP 33
- TEXT x#,120," "
- TEXT x#,120,voice#(vn#,692+op#) ! Rate scaling
- TEXT x#,134," "
- TEXT x#,134,voice#(vn#,679+op#) ! Rate 1
- TEXT x#,148," "
- TEXT x#,148,voice#(vn#,680+op#) ! Rate 2
- TEXT x#,162," "
- TEXT x#,162,voice#(vn#,681+op#) ! Rate 3
- TEXT x#,174," "
- TEXT x#,174,voice#(vn#,682+op#) ! Rate 4
- TEXT x#,186," "
- TEXT x#,186,voice#(vn#,683+op#) ! Level 1
- TEXT x#,198," "
- TEXT x#,198,voice#(vn#,684+op#) ! Level 2
- TEXT x#,212," "
- TEXT x#,212,voice#(vn#,685+op#) ! Level 3
- TEXT x#,224," "
- TEXT x#,224,voice#(vn#,686+op#) ! Level 4
- SUB op#,21
- NEXT x#
- RETURN
- > PROCEDURE list_scaling_mode
- CLR op#
- FOR x#=280 TO 445 STEP 33
- IF voice#(vn#,522+(op#/21))=0
- TEXT x#+3,256,"norm" ! Scaling Mode
- ELSE
- TEXT x#+3,256,"frac"
- ENDIF
- TEXT x#,275," "
- TEXT x#,275,voice#(vn#,695+op#) ! Output Level
- TEXT x#,288," "
- TEXT x#,288,voice#(vn#,688+op#) ! Ld
- IF voice#(vn#,690+op#)=3
- a$="+lin"
- ENDIF
- IF voice#(vn#,690+op#)=2
- a$="+exp"
- ENDIF
- IF voice#(vn#,690+op#)=1
- a$="-exp"
- ENDIF
- IF voice#(vn#,690+op#)=0
- a$="-lin"
- ENDIF
- TEXT x#,300," "
- TEXT x#,300,a$ ! Lc
- RESTORE bp
- FOR i%=0 TO voice#(vn#,687+op#)
- READ bp$
- NEXT i%
- TEXT x#,312," "
- TEXT x#,312,bp$ ! Bp
- IF voice#(vn#,691+op#)=3
- a$="+lin"
- ENDIF
- IF voice#(vn#,691+op#)=2
- a$="+exp"
- ENDIF
- IF voice#(vn#,691+op#)=1
- a$="-exp"
- ENDIF
- IF voice#(vn#,691+op#)=0
- a$="-lin"
- ENDIF
- TEXT x#,324," "
- TEXT x#,324,a$ ! Rc
- TEXT x#,336," "
- TEXT x#,336,voice#(vn#,689+op#) ! Rd
- SUB op#,21
- NEXT x#
- RETURN
- > PROCEDURE list_sensitivity
- CLR op#
- FOR x#=280 TO 445 STEP 33
- TEXT x#,362," "
- TEXT x#,362,voice#(vn#,694+op#) ! Velocity
- TEXT x#,374," "
- TEXT x#,374,voice#(vn#,528+(op#/21)) ! Ams
- TEXT x#,386," "
- TEXT x#,386,voice#(vn#,717) ! Pms (all OP's)
- SUB op#,21
- NEXT x#
- RETURN
- > PROCEDURE list_pitch_bend
- x#=560
- TEXT x#,70," "
- TEXT x#,70,voice#(vn#,533) ! Range
- TEXT x#,82," "
- TEXT x#,82,voice#(vn#,534) ! Step
- RETURN
- > PROCEDURE list_portamento
- x#=560
- IF voice#(vn#,532)=0 AND voice#(vn#,537)=0
- a$="Retrain "
- ENDIF
- IF voice#(vn#,532)=0 AND voice#(vn#,537)=1
- a$="Follow "
- ENDIF
- IF voice#(vn#,532)=1 AND voice#(vn#,537)=1
- a$="full time"
- ENDIF
- IF voice#(vn#,532)=1 AND voice#(vn#,537)=0
- a$="fingered "
- ENDIF
- TEXT x#,108," "
- TEXT x#,108,a$ ! Portamento
- TEXT x#,120," "
- TEXT x#,120,voice#(vn#,538) ! Step
- TEXT x#,132," "
- TEXT x#,132,voice#(vn#,539) ! Time
- TEXT x#+35,148,voice#(vn#,536) ! Random Pitch
- RETURN
- > PROCEDURE list_modulations_wheel
- x#=560
- TEXT x#,174," "
- TEXT x#,174,voice#(vn#,540) ! Pmod
- TEXT x#,186," "
- TEXT x#,186,voice#(vn#,541) ! Amod
- TEXT x#,198," "
- TEXT x#,198,voice#(vn#,542) ! EG bias
- RETURN
- > PROCEDURE list_foot_control
- x#=560
- TEXT x#,224," "
- TEXT x#,224,voice#(vn#,543) ! Pmod
- TEXT x#,238," "
- TEXT x#,238,voice#(vn#,544) ! Amod
- TEXT x#,250," "
- TEXT x#,250,voice#(vn#,545) ! EG bias
- TEXT x#,262," "
- TEXT x#,262,voice#(vn#,546) ! Volume
- RETURN
- > PROCEDURE list_breath_control
- x#=560
- TEXT x#,288," "
- TEXT x#,288,voice#(vn#,547) ! Pmod
- TEXT x#,300," "
- TEXT x#,300,voice#(vn#,548) ! Amod
- TEXT x#,312," "
- TEXT x#,312,voice#(vn#,549) ! EG bias
- TEXT x#,324," "
- TEXT x#,324,voice#(vn#,550)-50 ! P bias
- RETURN
- > PROCEDURE list_aftertouch
- x#=560
- TEXT x#,350," "
- TEXT x#,350,voice#(vn#,551) ! Pmod
- TEXT x#,362," "
- TEXT x#,362,voice#(vn#,552) ! Amod
- TEXT x#,374," "
- TEXT x#,374,voice#(vn#,553) ! EG bias
- TEXT x#,386," "
- TEXT x#,386,voice#(vn#,554)-50 ! P bias
- RETURN
- ' ---------------------------------VOICE-DATEN EMPFANGEN + LISTEN (ENDE)
- '
- ' ---------------------------------VOICE-DATEN EDITIEREN (ANFANG)
- > PROCEDURE voice_edit
- PAUSE 10
- ALERT 2," | | |Voice editieren ",1," JA | NEIN ",dummy#
- IF dummy#=2
- GOTO zurueck
- ENDIF
- DO
- EXIT IF MOUSEK=0
- LOOP
- p#=15
- DO
- GOSUB hilfe_test
- GOSUB grafik_eg_test
- IF MOUSEK
- IF p#>0
- SUB p#,0.5
- ENDIF
- ELSE
- IF p#<15
- ADD p#,0.5
- ENDIF
- ENDIF
- CLR n%
- m%=MOUSEK
- IF m%=1 OR m%=2
- IF m%=2
- m%=-1
- ENDIF
- MOUSE x#,y#,k#
- IF x#>30 AND x#<227 AND y#>32 AND y#<43
- SGET screen$
- DEFFILL 0
- PBOX 34,46,221,65
- BOX 34,46,221,65
- DEFFILL 1
- PRINT AT(6,4);
- FORM INPUT 10,a$
- FOR i%=719 TO 728
- voice#(vn#,i%)=ASC(MID$(a$,i%-718,1))
- NEXT i%
- SPUT screen$
- GOSUB list_voicename
- ENDIF
- IF x#>34 AND x#<155
- ' ---------------------------
- IF y#>61 AND y#<73
- n%=708 !ALG
- GOSUB algorithm
- ENDIF
- IF y#>73 AND y#<85
- n%=709 !FBL
- GOSUB algorithm
- ENDIF
- IF y#>85 AND y#<97
- n%=710 !OSC.Sync ALGORITHM
- GOSUB algorithm
- ENDIF
- IF y#>97 AND y#<109
- n%=718 !Transpose
- GOSUB algorithm
- ENDIF
- IF y#>111 AND y#<123
- n%=532 !Key Mode
- GOSUB algorithm
- ENDIF
- ' ---------------------------
- IF y#>137 AND y#<151
- n%=716 !Wave
- GOSUB lfo
- ENDIF
- IF y#>151 AND y#<165
- n%=711 !Speed
- GOSUB lfo
- ENDIF
- IF y#>165 AND y#<177
- n%=712 !Delay
- GOSUB lfo
- ENDIF
- IF y#>177 AND y#<189
- n%=530 !Mode L F O
- GOSUB lfo
- ENDIF
- IF y#>189 AND y#<201
- n%=713 !PMD
- GOSUB lfo
- ENDIF
- IF y#>201 AND y#<215
- n%=714 !AMD
- GOSUB lfo
- ENDIF
- IF y#>215 AND y#<227
- n%=715 !Sync
- GOSUB lfo
- ENDIF
- ' ---------------------------
- IF y#>241 AND y#<253
- n%=529 !Range
- GOSUB pitch_eg
- ENDIF
- IF y#>253 AND y#<265
- n%=531 !Velocity
- GOSUB pitch_eg
- ENDIF
- IF y#>279 AND y#<291
- n%=700 !R1
- GOSUB pitch_eg
- ENDIF
- IF y#>291 AND y#<303
- n%=701 !R2
- GOSUB pitch_eg
- ENDIF
- IF y#>303 AND y#<315
- n%=702 !R3 PITCH_EG
- GOSUB pitch_eg
- ENDIF
- IF y#>315 AND y#<327
- n%=703 !R4
- GOSUB pitch_eg
- ENDIF
- IF y#>327 AND y#<339
- n%=704 !L1
- GOSUB pitch_eg
- ENDIF
- IF y#>339 AND y#<353
- n%=705 !L2
- GOSUB pitch_eg
- ENDIF
- IF y#>353 AND y#<365
- n%=706 !L3
- GOSUB pitch_eg
- ENDIF
- IF y#>365 AND y#<377
- n%=707 !L4
- GOSUB pitch_eg
- ENDIF
- ' ---------------------------
- ENDIF
- IF x#>278 AND x#<311 ! OP1
- op#=0
- ENDIF
- IF x#>311 AND x#<344 ! OP2
- op#=21
- ENDIF
- IF x#>344 AND x#<377 ! OP3
- op#=42
- ENDIF
- IF x#>377 AND x#<410 ! OP4
- op#=63
- ENDIF
- IF x#>410 AND x#<443 ! OP5
- op#=84
- ENDIF
- IF x#>443 AND x#<476 ! OP6
- op#=105
- ENDIF
- IF x#>278 AND x#<476 ! ---- OP1-6 ----
- ' ---------------------------
- IF y#>61 AND y#<73
- n%=696-op# !Mode
- GOSUB oscillator
- ENDIF
- IF y#>73 AND y#<85
- n%=697-op# !Coarse OSCILLATOR
- n1%=698-op# !Fine
- GOSUB oscillator
- ENDIF
- IF y#>85 AND y#<97
- n%=699-op# !Detune
- GOSUB oscillator
- ENDIF
- ' ---------------------------
- IF y#>111 AND y#<123
- n%=692-op# !RS
- GOSUB eg
- ENDIF
- IF y#>123 AND y#<137
- n%=679-op# !R1
- GOSUB eg
- ENDIF
- IF y#>137 AND y#<151
- n%=680-op# !R2
- GOSUB eg
- ENDIF
- IF y#>151 AND y#<165
- n%=681-op# !R3
- GOSUB eg
- ENDIF
- IF y#>165 AND y#<177
- n%=682-op# !R4 EG
- GOSUB eg
- ENDIF
- IF y#>177 AND y#<189
- n%=683-op# !L1
- GOSUB eg
- ENDIF
- IF y#>189 AND y#<201
- n%=684-op# !L2
- GOSUB eg
- ENDIF
- IF y#>201 AND y#<215
- n%=685-op# !L3
- GOSUB eg
- ENDIF
- IF y#>215 AND y#<227
- n%=686-op# !L4
- GOSUB eg
- ENDIF
- ' ---------------------------
- IF y#>241 AND y#<265
- n%=522-(op#/21) !Scaling Mode
- GOSUB output_level
- ENDIF
- IF y#>265 AND y#<279
- n%=695-op# !Output Level
- GOSUB output_level
- ENDIF
- IF y#>279 AND y#<291
- n%=688-op# !LD
- GOSUB output_level
- ENDIF
- IF y#>291 AND y#<303
- n%=690-op# !LC OUTPUT_LEVEL
- GOSUB output_level
- ENDIF
- IF y#>303 AND y#<315
- n%=687-op# !BP
- GOSUB output_level
- ENDIF
- IF y#>315 AND y#<327
- n%=691-op# !RC
- GOSUB output_level
- ENDIF
- IF y#>327 AND y#<339
- n%=689-op# !RD
- GOSUB output_level
- ENDIF
- ' ---------------------------
- IF y#>353 AND y#<365
- n%=694-op# !Velocity
- GOSUB sensitivity
- ENDIF
- IF y#>365 AND y#<377
- n%=528-(op#/21) !AMS SENSITIVITY
- GOSUB sensitivity
- ENDIF
- IF y#>377 AND y#<389
- n%=717 !PMS (all OP)
- GOSUB sensitivity
- ENDIF
- ' ---------------------------
- ENDIF
- IF x#>478 AND x#<617
- ' ---------------------------
- IF y#>61 AND y#<73
- n%=533 !Range
- GOSUB pitch_bend
- ENDIF
- IF y#>73 AND y#<85 ! PITCH_BEND
- n%=534 !Step
- GOSUB pitch_bend
- ENDIF
- ' ---------------------------
- IF y#>99 AND y#<111
- n%=537 !Mode
- GOSUB portamento
- ENDIF
- IF y#>111 AND y#<123
- n%=538 !Step PORTAMENTO
- GOSUB portamento
- ENDIF
- IF y#>123 AND y#<137
- n%=539 !Time
- GOSUB portamento
- ENDIF
- IF y#>137 AND y#<151
- n%=536 !Random Pitch
- GOSUB portamento
- ENDIF
- ' ---------------------------
- IF y#>165 AND y#<177
- n%=540 !P.Mode
- GOSUB modulation_wheel
- ENDIF
- IF y#>177 AND y#<189
- n%=541 !A.Mode MODULATION_WHEEL
- GOSUB modulation_wheel
- ENDIF
- IF y#>189 AND y#<201
- n%=542 !EG.Bias
- GOSUB modulation_wheel
- ENDIF
- ' ---------------------------
- IF y#>215 AND y#<227
- n%=543 !P.Mode
- GOSUB foot_control
- ENDIF
- IF y#>227 AND y#<241
- n%=544 !A.Mode FOOT_CONTROL
- GOSUB foot_control
- ENDIF
- IF y#>241 AND y#<253
- n%=545 !EG.Bias
- GOSUB foot_control
- ENDIF
- IF y#>253 AND y#<265
- n%=546 !Volume
- GOSUB foot_control
- ENDIF
- ' ---------------------------
- IF y#>279 AND y#<291
- n%=547 !P.Mode
- GOSUB breath_control
- ENDIF
- IF y#>291 AND y#<303
- n%=548 !A.Mode BREATH_CONTROL
- GOSUB breath_control
- ENDIF
- IF y#>303 AND y#<315
- n%=549 !EG Bias
- GOSUB breath_control
- ENDIF
- IF y#>315 AND y#<327
- n%=550 !P.Bias
- GOSUB breath_control
- ENDIF
- ' ---------------------------
- IF y#>341 AND y#<353
- n%=551 !P.Mode
- GOSUB after_touch
- ENDIF
- IF y#>353 AND y#<365
- n%=552 !A.Mode AFTER_TOUCH
- GOSUB after_touch
- ENDIF
- IF y#>365 AND y#<377
- n%=553 !EG Bias
- GOSUB after_touch
- ENDIF
- IF y#>377 AND y#<389
- n%=554 !P.Bias
- GOSUB after_touch
- ENDIF
- ' ---------------------------
- ENDIF
- ENDIF
- IF MOUSEY>398
- GOSUB tastatur
- ENDIF
- EXIT IF MOUSEY<24 OR MOUSEX<24 ! = Menue-Anwahl
- LOOP
- zurueck:
- RETURN
- > PROCEDURE algorithm
- IF n%=708 !ALG
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>31
- voice#(vn#,n%)=31
- ENDIF
- TEXT 129,70," "
- TEXT 129,70,voice#(vn#,n%)+1
- ENDIF
- IF n%=709 !FBL
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>7
- voice#(vn#,n%)=7
- ENDIF
- TEXT 129,82,voice#(vn#,n%)
- ENDIF
- IF n%=710 !OSC.Sync
- IF voice#(vn#,n%)=1
- voice#(vn#,n%)=0
- TEXT 129,94,"OFF"
- ELSE
- voice#(vn#,n%)=1
- TEXT 129,94,"ON "
- ENDIF
- DO
- EXIT IF MOUSEK=0
- LOOP
- ENDIF
- IF n%=718 !Transpose
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>48
- voice#(vn#,n%)=48
- ENDIF
- RESTORE transpose
- FOR i%=0 TO voice#(vn#,n%)
- READ transposedata$
- NEXT i%
- TEXT 129,106,transposedata$
- ENDIF
- IF n%=532 !Key Mode
- IF voice#(vn#,n%)=1
- voice#(vn#,n%)=0
- TEXT 129,120,"Poly"
- IF voice#(vn#,537)=0
- TEXT 560,108,"Retrain "
- ELSE
- TEXT 560,108,"Follow "
- ENDIF
- ELSE
- voice#(vn#,n%)=1
- TEXT 129,120,"Mono"
- IF voice#(vn#,537)=0
- TEXT 560,108,"full time"
- ELSE
- TEXT 560,108,"fingered "
- ENDIF
- ENDIF
- DO
- EXIT IF MOUSEK=0
- LOOP
- ENDIF
- SHOWM
- PAUSE p#
- RETURN
- > PROCEDURE lfo
- IF n%=716 !Wave
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>5
- voice#(vn#,n%)=5
- ENDIF
- RESTORE wave
- FOR i%=0 TO voice#(vn#,n%)
- READ wavedata$
- NEXT i%
- TEXT 104,147,wavedata$
- ENDIF
- IF n%=711 !Speed
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT 104,161," "
- TEXT 104,161,voice#(vn#,n%)
- ENDIF
- IF n%=712 !Delay
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT 104,174," "
- TEXT 104,174,voice#(vn#,n%)
- ENDIF
- IF n%=530 !Mode
- IF voice#(vn#,n%)=1
- voice#(vn#,n%)=0
- TEXT 104,186,"single"
- ELSE
- voice#(vn#,n%)=1
- TEXT 104,186,"multi "
- ENDIF
- DO
- EXIT IF MOUSEK=0
- LOOP
- ENDIF
- IF n%=713 !PMD
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT 104,198," "
- TEXT 104,198,voice#(vn#,n%)
- ENDIF
- IF n%=714 !AMD
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT 104,211," "
- TEXT 104,211,voice#(vn#,n%)
- ENDIF
- IF n%=715 !Sync
- IF voice#(vn#,n%)=1
- voice#(vn#,n%)=0
- TEXT 104,224,"OFF"
- ELSE
- voice#(vn#,n%)=1
- TEXT 104,224,"ON "
- ENDIF
- DO
- EXIT IF MOUSEK=0
- LOOP
- ENDIF
- SHOWM
- PAUSE p#
- RETURN
- PROCEDURE pitch_eg
- IF n%=529 !Range
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>3
- voice#(vn#,n%)=3
- ENDIF
- RESTORE rng
- FOR i%=0 TO voice#(vn#,n%)
- READ rng$
- NEXT i%
- TEXT 124,250,rng$
- ENDIF
- IF n%=531 !Velocity
- IF voice#(vn#,n%)=1
- voice#(vn#,n%)=0
- TEXT 124,262,"OFF"
- ELSE
- voice#(vn#,n%)=1
- TEXT 124,262,"ON "
- ENDIF
- DO
- EXIT IF MOUSEK=0
- LOOP
- ENDIF
- ' !RS bleibt immer Null
- IF n%=700 !R1
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT 124,288," "
- TEXT 124,288,voice#(vn#,n%)
- ENDIF
- IF n%=701 !R2
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT 124,300," "
- TEXT 124,300,voice#(vn#,n%)
- ENDIF
- IF n%=702 !R3
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT 124,312," "
- TEXT 124,312,voice#(vn#,n%)
- ENDIF
- IF n%=703 !R4
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT 124,324," "
- TEXT 124,324,voice#(vn#,n%)
- ENDIF
- IF n%=704 !L1
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT 124,336," "
- TEXT 124,336,voice#(vn#,n%)
- ENDIF
- IF n%=705 !L2
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT 124,349," "
- TEXT 124,349,voice#(vn#,n%)
- ENDIF
- IF n%=706 !L3
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT 124,362," "
- TEXT 124,362,voice#(vn#,n%)
- ENDIF
- IF n%=707 !L4
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT 124,374," "
- TEXT 124,374,voice#(vn#,n%)
- ENDIF
- PBOX 35,280,119,376
- p1x#=0 ! R4
- p2x#=100-voice#(vn#,700) ! R1
- p3x#=100-voice#(vn#,701)+p2x# ! R2
- p4x#=100-voice#(vn#,702)+p3x# ! R3
- p1y#=voice#(vn#,707) ! L4
- p2y#=voice#(vn#,704) ! L1
- p3y#=voice#(vn#,705) ! L2
- p4y#=voice#(vn#,706) ! L3
- '
- DIV p1x#,5
- DIV p2x#,5
- DIV p3x#,5
- DIV p4x#,5
- DIV p1y#,5
- DIV p2y#,5
- DIV p3y#,5
- DIV p4y#,5
- '
- ADD p1x#,40
- ADD p2x#,40
- ADD p3x#,40
- ADD p4x#,40
- p1y#=330-p1y#
- p2y#=330-p2y#
- p3y#=330-p3y#
- p4y#=330-p4y#
- '
- COLOR 0
- DRAW p1x#-5,320 TO 116,320
- DRAW p1x#,p1y# TO p2x#,p2y# TO p3x#,p3y# TO p4x#,p4y# TO p4x#+15,p4y#
- DEFLINE ,,,1
- DRAW p1x#,339 TO p1x#,331
- DRAW p4x#+10,339 TO p4x#+10,331
- COLOR 1
- GRAPHMODE 3
- TEXT p1x#-4,315,"+"
- TEXT p1x#-5,328,"-"
- TEXT 60,365,"KEY"
- TEXT p1x#-4,347,"ON"
- TEXT p4x#,356,"OFF"
- DEFLINE ,,0,0
- GRAPHMODE 1
- EVERY 1000 GOSUB test_mk
- SHOWM
- PAUSE p#
- RETURN
- PROCEDURE test_mk
- IF MOUSEK=0 AND hilfe$="aus"
- COLOR 1
- EVERY STOP
- PUT 35,280,pitch_eg$
- SHOWM
- ENDIF
- RETURN
- > PROCEDURE oscillator
- IF op#=0
- xpos#=280
- ENDIF
- IF op#=21
- xpos#=313
- ENDIF
- IF op#=42
- xpos#=346
- ENDIF
- IF op#=63
- xpos#=379
- ENDIF
- IF op#=84
- xpos#=412
- ENDIF
- IF op#=105
- xpos#=445
- ENDIF
- IF n%=696-op# !Mode
- IF voice#(vn#,n%)=1
- voice#(vn#,n%)=0
- TEXT xpos#,70,"ratio"
- IF voice#(vn#,696-op#)=0 ! ratio
- IF voice#(vn#,697-op#)=0
- coarse#=0.5
- ADD coarse#,voice#(vn#,698-op#)*0.005
- ELSE
- coarse#=voice#(vn#,697-op#)
- ADD coarse#,voice#(vn#,698-op#)*(0.01*coarse#)
- ENDIF
- TEXT xpos#,82," "
- TEXT xpos#,82,coarse#
- ELSE
- RESTORE fixed
- FOR i%=0 TO voice#(vn#,698-op#)
- READ fix#
- NEXT i%
- n%=voice#(vn#,697-op#)
- DO
- EXIT IF n%<4
- SUB n%,4
- LOOP
- fixed#=0.1
- FOR i%=0 TO n%
- MUL fixed#,10
- NEXT i%
- fix#=fix#/(1000/fixed#)
- ADD fixed#,fix#
- TEXT xpos#,82," "
- TEXT xpos#,82,fixed#
- ENDIF
- ELSE
- IF voice#(vn#,697-op#)>3
- voice#(vn#,697-op#)=3
- ENDIF
- voice#(vn#,n%)=1
- TEXT xpos#,70,"fixed"
- IF voice#(vn#,696-op#)=0 ! ratio
- IF voice#(vn#,697-op#)=0
- coarse#=0.5
- ADD coarse#,voice#(vn#,698-op#)*0.005
- ELSE
- coarse#=voice#(vn#,697-op#)
- ADD coarse#,voice#(vn#,698-op#)*(0.01*coarse#)
- ENDIF
- TEXT xpos#,82," "
- TEXT xpos#,82,coarse#
- ELSE
- RESTORE fixed
- FOR i%=0 TO voice#(vn#,698-op#)
- READ fix#
- NEXT i%
- n%=voice#(vn#,697-op#)
- DO
- EXIT IF n%<4
- SUB n%,4
- LOOP
- fixed#=0.1
- FOR i%=0 TO n%
- MUL fixed#,10
- NEXT i%
- fix#=fix#/(1000/fixed#)
- ADD fixed#,fix#
- TEXT xpos#,82," "
- TEXT xpos#,82,fixed#
- ENDIF
- ENDIF
- DO
- EXIT IF MOUSEK=0
- LOOP
- ENDIF
- IF n%=697-op# !Coarse
- n1%=698-op# !fine
- IF voice#(vn#,696-op#)=0 AND MOUSEX<=(xpos#+15) !ratio
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>31
- voice#(vn#,n%)=31
- ENDIF
- ENDIF
- IF voice#(vn#,696-op#)=1 AND MOUSEX<=(xpos#+15) !fixed
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>3
- voice#(vn#,n%)=3
- ENDIF
- ENDIF
- IF voice#(vn#,696-op#)=0 AND MOUSEX>(xpos#+15) !ratio
- ADD voice#(vn#,n1%),m%
- IF voice#(vn#,n1%)<0
- voice#(vn#,n1%)=0
- ENDIF
- IF voice#(vn#,n1%)>99
- voice#(vn#,n1%)=99
- ENDIF
- ENDIF
- IF voice#(vn#,696-op#)=1 AND MOUSEX>(xpos#+15) !fixed
- ADD voice#(vn#,n1%),m%
- IF voice#(vn#,n1%)<0
- voice#(vn#,n1%)=0
- ENDIF
- IF voice#(vn#,n1%)>99
- voice#(vn#,n1%)=99
- ENDIF
- ENDIF
- IF voice#(vn#,696-op#)=0 ! ratio
- IF voice#(vn#,697-op#)=0
- coarse#=0.5
- ADD coarse#,voice#(vn#,698-op#)*0.005
- ELSE
- coarse#=voice#(vn#,697-op#)
- ADD coarse#,voice#(vn#,698-op#)*(0.01*coarse#)
- ENDIF
- TEXT xpos#,82," "
- TEXT xpos#,82,coarse#
- ELSE
- RESTORE fixed
- FOR i%=0 TO voice#(vn#,698-op#)
- READ fix#
- NEXT i%
- n%=voice#(vn#,697-op#)
- DO
- EXIT IF n%<4
- SUB n%,4
- LOOP
- fixed#=0.1
- FOR i%=0 TO n%
- MUL fixed#,10
- NEXT i%
- fix#=fix#/(1000/fixed#)
- ADD fixed#,fix#
- TEXT xpos#,82," "
- TEXT xpos#,82,fixed#
- ENDIF
- ENDIF
- IF n%=699-op# !Detune (OP1)
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>14
- voice#(vn#,n%)=14
- ENDIF
- TEXT xpos#+1,94," "
- TEXT xpos#+1,94,voice#(vn#,699-op#)-7
- ENDIF
- SHOWM
- PAUSE p#
- RETURN
- > PROCEDURE eg
- IF op#=0
- xpos#=280
- ENDIF
- IF op#=21
- xpos#=313
- ENDIF
- IF op#=42
- xpos#=346
- ENDIF
- IF op#=63
- xpos#=379
- ENDIF
- IF op#=84
- xpos#=412
- ENDIF
- IF op#=105
- xpos#=445
- ENDIF
- IF n%=692-op# !RS (OP1)
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>7
- voice#(vn#,n%)=7
- ENDIF
- TEXT xpos#,120," "
- TEXT xpos#,120,voice#(vn#,n%)
- ENDIF
- IF n%=679-op# !R1 (OP1)
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT xpos#,134," "
- TEXT xpos#,134,voice#(vn#,n%)
- ENDIF
- IF n%=680-op# !R2 (OP1)
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT xpos#,148," "
- TEXT xpos#,148,voice#(vn#,n%)
- ENDIF
- IF n%=681-op# !R3 (OP1)
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT xpos#,162," "
- TEXT xpos#,162,voice#(vn#,n%)
- ENDIF
- IF n%=682-op# !R4 (OP1)
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT xpos#,174," "
- TEXT xpos#,174,voice#(vn#,n%)
- ENDIF
- IF n%=683-op# !L1 (OP1)
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT xpos#,186," "
- TEXT xpos#,186,voice#(vn#,n%)
- ENDIF
- IF n%=684-op# !L2 (OP1)
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT xpos#,198," "
- TEXT xpos#,198,voice#(vn#,n%)
- ENDIF
- IF n%=685-op# !L3 (OP1)
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT xpos#,212," "
- TEXT xpos#,212,voice#(vn#,n%)
- ENDIF
- IF n%=686-op# !L4 (OP1)
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT xpos#,224," "
- TEXT xpos#,224,voice#(vn#,n%)
- ENDIF
- SHOWM
- PAUSE p#
- RETURN
- > PROCEDURE output_level
- IF op#=0
- xpos#=280
- ENDIF
- IF op#=21
- xpos#=313
- ENDIF
- IF op#=42
- xpos#=346
- ENDIF
- IF op#=63
- xpos#=379
- ENDIF
- IF op#=84
- xpos#=412
- ENDIF
- IF op#=105
- xpos#=445
- ENDIF
- '
- IF n%=522-(op#/21) !Scaling Mode (OP1)
- voice#(vn#,n%)=0
- TEXT xpos#+3,256,"norm"
- ' Standardwert: bleibt unverändert
- ENDIF
- '
- IF n%=695-op# !Output Level (OP1)
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT xpos#,275," "
- TEXT xpos#,275,voice#(vn#,n%)
- ENDIF
- '
- IF n%=688-op# !LD (OP1)
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT xpos#,288," "
- TEXT xpos#,288,voice#(vn#,n%)
- ENDIF
- '
- IF n%=690-op# !LC (OP1)
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>3
- voice#(vn#,n%)=3
- ENDIF
- IF voice#(vn#,690-op#)=3
- a$="+lin"
- ENDIF
- IF voice#(vn#,690-op#)=2
- a$="+exp"
- ENDIF
- IF voice#(vn#,690-op#)=1
- a$="-exp"
- ENDIF
- IF voice#(vn#,690-op#)=0
- a$="-lin"
- ENDIF
- TEXT xpos#,300," "
- TEXT xpos#,300,a$
- ENDIF
- '
- IF n%=687-op# !BP (OP1)
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- RESTORE bp
- FOR i%=0 TO voice#(vn#,687-op#)
- READ bp$
- NEXT i%
- TEXT xpos#,312," "
- TEXT xpos#,312,bp$
- ENDIF
- '
- IF n%=691-op# !RC (OP1)
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>3
- voice#(vn#,n%)=3
- ENDIF
- IF voice#(vn#,691-op#)=3
- a$="+lin"
- ENDIF
- IF voice#(vn#,691-op#)=2
- a$="+exp"
- ENDIF
- IF voice#(vn#,691-op#)=1
- a$="-exp"
- ENDIF
- IF voice#(vn#,691-op#)=0
- a$="-lin"
- ENDIF
- TEXT xpos#,324," "
- TEXT xpos#,324,a$
- ENDIF
- '
- IF n%=689-op# !RD (OP1)
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT xpos#,336," "
- TEXT xpos#,336,voice#(vn#,689-op#)
- ENDIF
- SHOWM
- PAUSE p#
- RETURN
- > PROCEDURE sensitivity
- IF op#=0
- xpos#=280
- ENDIF
- IF op#=21
- xpos#=313
- ENDIF
- IF op#=42
- xpos#=346
- ENDIF
- IF op#=63
- xpos#=379
- ENDIF
- IF op#=84
- xpos#=412
- ENDIF
- IF op#=105
- xpos#=445
- ENDIF
- IF n%=694-op# !Velocity (OP1)
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>7
- voice#(vn#,n%)=7
- ENDIF
- TEXT xpos#,362," "
- TEXT xpos#,362,voice#(vn#,n%)
- ENDIF
- IF n%=528-(op#/21) !AMS (OP1)
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>7
- voice#(vn#,n%)=7
- ENDIF
- voice#(vn#,693-op#)=voice#(vn#,528-(op#/21))
- IF voice#(vn#,693-op#)>3
- voice#(vn#,693-op#)=3
- ENDIF
- TEXT xpos#,374," "
- TEXT xpos#,374,voice#(vn#,n%)
- ENDIF
- IF n%=717 !PMS (ALL OP)
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>7
- voice#(vn#,n%)=7
- ENDIF
- FOR i%=280 TO 445 STEP 33
- TEXT i%,386," "
- TEXT i%,386,voice#(vn#,n%)
- NEXT i%
- ENDIF
- SHOWM
- PAUSE p#
- RETURN
- > PROCEDURE pitch_bend
- xpos#=560
- IF n%=533 !Range
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>12
- voice#(vn#,n%)=12
- ENDIF
- IF voice#(vn#,534)>0
- voice#(vn#,n%)=12
- ENDIF
- TEXT xpos#,70," "
- TEXT xpos#,70,voice#(vn#,n%)
- ENDIF
- IF n%=534 !Step
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>12
- voice#(vn#,n%)=12
- ENDIF
- IF voice#(vn#,n%)>0
- voice#(vn#,533)=12
- TEXT xpos#,70," "
- TEXT xpos#,70,voice#(vn#,533)
- ENDIF
- TEXT xpos#,82," "
- TEXT xpos#,82,voice#(vn#,n%)
- ENDIF
- SHOWM
- PAUSE p#
- RETURN
- > PROCEDURE portamento
- xpos#=560
- IF n%=537 !Mode
- IF voice#(vn#,n%)=0
- voice#(vn#,n%)=1
- ELSE
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,532)=0 AND voice#(vn#,537)=0
- a$="Retrain "
- ENDIF
- IF voice#(vn#,532)=0 AND voice#(vn#,537)=1
- a$="Follow "
- ENDIF
- IF voice#(vn#,532)=1 AND voice#(vn#,537)=1
- a$="full time"
- ENDIF
- IF voice#(vn#,532)=1 AND voice#(vn#,537)=0
- a$="fingered "
- ENDIF
- TEXT xpos#,108," "
- TEXT xpos#,108,a$
- DO
- EXIT IF MOUSEK=0
- LOOP
- ENDIF
- IF n%=538 !Step
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>12
- voice#(vn#,n%)=12
- ENDIF
- TEXT xpos#,120," "
- TEXT xpos#,120,voice#(vn#,538)
- ENDIF
- IF n%=539 !Time
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT xpos#,132," "
- TEXT xpos#,132,voice#(vn#,539)
- ENDIF
- IF n%=536 !Random Pitch
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>7
- voice#(vn#,n%)=7
- ENDIF
- TEXT xpos#+35,148,voice#(vn#,536)
- ENDIF
- SHOWM
- PAUSE p#
- RETURN
- > PROCEDURE modulation_wheel
- xpos#=560
- IF n%=540 !P.Mode
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT xpos#,174," "
- TEXT xpos#,174,voice#(vn#,n%)
- ENDIF
- IF n%=541 !A.Mode
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT xpos#,186," "
- TEXT xpos#,186,voice#(vn#,n%)
- ENDIF
- IF n%=542 !EG.Bias
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT xpos#,198," "
- TEXT xpos#,198,voice#(vn#,n%)
- ENDIF
- SHOWM
- PAUSE p#
- RETURN
- > PROCEDURE foot_control
- xpos#=560
- IF n%=543 !P.Mode
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT xpos#,224," "
- TEXT xpos#,224,voice#(vn#,n%)
- ENDIF
- IF n%=544 !A.Mode
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT xpos#,238," "
- TEXT xpos#,238,voice#(vn#,n%)
- ENDIF
- IF n%=545 !EG.Bias
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT xpos#,250," "
- TEXT xpos#,250,voice#(vn#,n%)
- ENDIF
- IF n%=546 !Volume
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT xpos#,262," "
- TEXT xpos#,262,voice#(vn#,n%)
- ENDIF
- SHOWM
- PAUSE p#
- RETURN
- > PROCEDURE breath_control
- xpos#=560
- IF n%=547 !P.Mode
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT xpos#,288," "
- TEXT xpos#,288,voice#(vn#,n%)
- ENDIF
- IF n%=548 !A.Mode
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT xpos#,300," "
- TEXT xpos#,300,voice#(vn#,n%)
- ENDIF
- IF n%=549 !EG.Bias
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT xpos#,312," "
- TEXT xpos#,312,voice#(vn#,n%)
- ENDIF
- IF n%=550 !P.Bias
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>100
- voice#(vn#,n%)=100
- ENDIF
- TEXT xpos#,324," "
- TEXT xpos#,324,voice#(vn#,n%)-50
- ENDIF
- SHOWM
- PAUSE p#
- RETURN
- > PROCEDURE after_touch
- xpos#=560
- IF n%=551 !P.Mode
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT xpos#,350," "
- TEXT xpos#,350,voice#(vn#,n%)
- ENDIF
- IF n%=552 !A.Mode
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT xpos#,362," "
- TEXT xpos#,362,voice#(vn#,n%)
- ENDIF
- IF n%=553 !EG.Bias
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>99
- voice#(vn#,n%)=99
- ENDIF
- TEXT xpos#,374," "
- TEXT xpos#,374,voice#(vn#,n%)
- ENDIF
- IF n%=554 !P.Bias
- ADD voice#(vn#,n%),m%
- IF voice#(vn#,n%)<0
- voice#(vn#,n%)=0
- ENDIF
- IF voice#(vn#,n%)>100
- voice#(vn#,n%)=100
- ENDIF
- TEXT xpos#,386," "
- TEXT xpos#,386,voice#(vn#,n%)-50
- ENDIF
- SHOWM
- PAUSE p#
- RETURN
- ' ---------------------------------VOICE-DATEN EDITIEREN (ENDE)
- > PROCEDURE print_data
- PAUSE 10
- ALERT 2,"Sound drucken:| |Ist richtiger Hardcopytreiber| geladen? ",1," JA | NEIN ",dummy#
- IF dummy#=1
- SGET screen$
- GET 32,33,155,379,teil1$
- GET 155,33,227,391,teil2$
- GET 227,47,619,391,teil3$
- GET 292,25,522,44,teil4$
- CLS
- PUT 32,33,teil1$
- PUT 155,33,teil2$
- PUT 227,47,teil3$
- PUT 292,25,teil4$
- HIDEM
- HARDCOPY
- SPUT screen$
- SHOWM
- ENDIF
- RETURN
- > PROCEDURE send_data
- CLR test%
- FOR i%=517 TO 565
- IF voice#(vn#,i%)<>0
- INC test%
- ENDIF
- NEXT i%
- FOR i%=574 TO 728
- IF voice#(vn#,i%)<>0
- INC test%
- ENDIF
- NEXT i%
- IF test%>0
- ' ---------------
- OUT 3,240
- OUT 3,67
- OUT 3,0
- OUT 3,5
- OUT 3,0
- OUT 3,49
- CLR x1%,summe%
- FOR n%=517 TO 565
- OUT 3,voice#(vn#,n%)
- x1%=x1%+voice#(vn#,n%)
- ADD summe%,128
- NEXT n%
- s#=summe%-x1%
- check%=s#-128*INT(s#/128)
- OUT 3,check%
- OUT 3,247
- ' ---------------
- OUT 3,240
- OUT 3,67
- OUT 3,0
- OUT 3,0
- OUT 3,1
- OUT 3,27
- CLR x1%,summe%
- FOR n%=574 TO 728
- OUT 3,voice#(vn#,n%)
- x1%=x1%+voice#(vn#,n%)
- ADD summe%,128
- NEXT n%
- s#=summe%-x1%
- check%=s#-128*INT(s#/128)
- OUT 3,check%
- OUT 3,247
- ' ---------------
- ELSE
- PAUSE 10
- ALERT 1," | | |Keine Voice-Daten vorhanden",1," RETURN ",dummy#
- ENDIF
- RETURN
- > PROCEDURE tastatur
- DEFMOUSE 3
- GET 153,350,639,399,tastatur$
- DEFFILL 0
- PBOX 153,350,621,399
- FOR i%=153 TO 608 STEP 13
- BOX i%,350,i%+13,399
- NEXT i%
- DEFFILL 1
- FOR i%=0 TO 4
- '
- PBOX 161+(i%*91),350,161+(i%*91)+7,380
- PBOX 177+(i%*91),350,177+(i%*91)+7,380
- '
- PBOX 200+(i%*91),350,200+(i%*91)+7,380
- PBOX 214+(i%*91),350,214+(i%*91)+8,380
- PBOX 229+(i%*91),350,229+(i%*91)+7,380
- '
- NEXT i%
- CLR z#
- note_on#=1
- DO
- EXIT IF MOUSEY<399
- LOOP
- DO
- IF MOUSEX>152 AND MOUSEX<615
- note_alt#=note#
- IF xx#<>(INT(MOUSEX/7.6)*7.6)+5 OR MOUSEK=1 OR note_off#=1
- IF z#<>0
- f#=-POINT(xx#+1,356)+1
- DEFFILL f#
- PBOX xx#,355,xx#+2,360
- ENDIF
- z#=1
- xx#=(INT(MOUSEX/7.6)*7.6)+5
- f#=-POINT(xx#+1,356)+1
- DEFFILL f#
- PBOX xx#,355,xx#+2,360
- IF MOUSEK=1
- IF note_on#=1
- note_on#=0
- note#=INT(xx#/7.6)+16
- OUT 3,kanal#
- OUT 3,note#
- OUT 3,64
- SHOWM
- note_off#=1
- ENDIF
- ELSE
- IF note_off#=1
- note_off#=0
- OUT 3,kanal#
- OUT 3,note_alt#
- OUT 3,0
- SHOWM
- note_on#=1
- ENDIF
- ENDIF
- SHOWM
- ENDIF
- ENDIF
- EXIT IF MOUSEY>398
- LOOP
- PUT 153,350,tastatur$
- DO
- EXIT IF MOUSEY<399
- LOOP
- DEFFILL 1
- FOR i%=36 TO 96
- OUT 3,kanal#
- OUT 3,i%
- OUT 3,0
- NEXT i%
- DO
- EXIT IF MOUSEK=0
- LOOP
- DEFMOUSE 8
- RETURN
- ' ---------------------------------EG GRAFISCH DARSTELLEN (ANFANG)
- > PROCEDURE grafik_eg_test
- weiter1:
- IF MOUSEK
- IF MOUSEY>99 AND MOUSEY<111
- IF MOUSEX>250 AND MOUSEX<278 !OP
- GOSUB grafik_eg
- GOTO weiter1
- ENDIF
- IF MOUSEX>278 AND MOUSEX<311 !OP1
- op#=0
- i%=1
- GOSUB grafik_eg_op1_6
- GOTO weiter1
- ENDIF
- IF MOUSEX>311 AND MOUSEX<344 !OP2
- op#=-21
- i%=2
- GOSUB grafik_eg_op1_6
- GOTO weiter1
- ENDIF
- IF MOUSEX>344 AND MOUSEX<377 !OP3
- op#=-42
- i%=3
- GOSUB grafik_eg_op1_6
- GOTO weiter1
- ENDIF
- IF MOUSEX>377 AND MOUSEX<410 !OP4
- op#=-63
- i%=4
- GOSUB grafik_eg_op1_6
- GOTO weiter1
- ENDIF
- IF MOUSEX>410 AND MOUSEX<443 !OP5
- op#=-84
- i%=5
- GOSUB grafik_eg_op1_6
- GOTO weiter1
- ENDIF
- IF MOUSEX>443 AND MOUSEX<475 !OP6
- op#=-105
- i%=6
- GOSUB grafik_eg_op1_6
- GOTO weiter1
- ENDIF
- ENDIF
- ENDIF
- RETURN
- > PROCEDURE grafik_eg
- DO
- EXIT IF MOUSEK=0
- LOOP
- GET 158,112,475,226,eg$
- PBOX 158,112,475,226
- h#=210
- v#=170
- CLR op#
- FOR i%=1 TO 6
- r1#=100-voice#(vn#,679+op#)
- r2#=100-voice#(vn#,680+op#)+r1#
- r3#=100-voice#(vn#,681+op#)+r2#
- r_off#=100-40+r3#
- r4#=100-voice#(vn#,682+op#)+r_off#
- DIV r1#,2
- DIV r2#,2
- DIV r3#,2
- DIV r_off#,2
- DIV r4#,2
- ADD r1#,h#
- ADD r2#,h#
- ADD r3#,h#
- ADD r_off#,h#
- ADD r4#,h#
- l1#=v#-(voice#(vn#,683+op#)/2)
- l2#=v#-(voice#(vn#,684+op#)/2)
- l3#=v#-(voice#(vn#,685+op#)/2)
- l_off#=l3#
- l4#=v#-(voice#(vn#,686+op#)/2)
- GRAPHMODE 1
- COLOR 0
- DRAW h#-10,l4# TO h#,l4# TO r1#,l1# TO r2#,l2# TO r3#,l3# TO r_off#,l_off# TO r4#,l4# TO r4#+10,l4#
- COLOR 1
- GRAPHMODE 3
- TEXT h#-47,v#+2,"OP"
- TEXT h#-35,v#+2,i%
- ADD v#,10
- ADD h#,5
- SUB op#,21
- NEXT i%
- SHOWM
- DO
- EXIT IF MOUSEK
- LOOP
- DO
- EXIT IF MOUSEK=0
- LOOP
- PUT 158,112,eg$
- GRAPHMODE 1
- SHOWM
- RETURN
- > PROCEDURE grafik_eg_op1_6
- DO
- EXIT IF MOUSEK=0
- LOOP
- GET 158,112,475,226,eg$
- PBOX 158,112,475,226
- h#=220
- v#=170
- r1#=100-voice#(vn#,679+op#)
- r2#=100-voice#(vn#,680+op#)+r1#
- r3#=100-voice#(vn#,681+op#)+r2#
- r_off#=100-40+r3#
- r4#=100-voice#(vn#,682+op#)+r_off#
- DIV r1#,2
- DIV r2#,2
- DIV r3#,2
- DIV r_off#,2
- DIV r4#,2
- ADD r1#,h#
- ADD r2#,h#
- ADD r3#,h#
- ADD r_off#,h#
- ADD r4#,h#
- l1#=v#-(voice#(vn#,683+op#)/2)
- l2#=v#-(voice#(vn#,684+op#)/2)
- l3#=v#-(voice#(vn#,685+op#)/2)
- l_off#=l3#
- l4#=v#-(voice#(vn#,686+op#)/2)
- GRAPHMODE 1
- COLOR 0
- DRAW h#-10,l4# TO h#,l4# TO r1#,l1# TO r2#,l2# TO r3#,l3# TO r_off#,l_off# TO r4#,l4# TO r4#+10,l4#
- DEFLINE 4,1,1,0
- PLOT h#,180
- DRAW TO h#,200
- PLOT r_off#,180
- DRAW TO r_off#,200
- DEFLINE 1,0,0,0
- COLOR 1
- GRAPHMODE 3
- TEXT h#-32,l4#+2,"OP"
- TEXT h#-20,l4#+2,i%
- TEXT h#-47,210,"KEY: ON"
- TEXT r_off#-7,210,"OFF"
- SHOWM
- DO
- EXIT IF MOUSEK
- LOOP
- DO
- EXIT IF MOUSEK=0
- LOOP
- PUT 158,112,eg$
- GRAPHMODE 1
- SHOWM
- RETURN
- ' ---------------------------------EG GRAFISCH DARSTELLEN (ENDE)
- ' ---------------------------------HILFSTEXT AUSGEBEN (ANFANG)
- > PROCEDURE hilfe_test
- weiter2:
- hilfe$="aus"
- IF MOUSEK
- IF MOUSEX>35 AND MOUSEX<154
- IF MOUSEY>50 AND MOUSEY<60
- hilfe$="an"
- GOSUB hilfe_algorithm
- GOTO weiter2
- ENDIF
- IF MOUSEY>126 AND MOUSEY<136
- hilfe$="an"
- GOSUB hilfe_lfo
- GOTO weiter2
- ENDIF
- IF MOUSEY>230 AND MOUSEY<240
- hilfe$="an"
- GOSUB hilfe_pitch_eg
- GOTO weiter2
- ENDIF
- ENDIF
- IF MOUSEX>158 AND MOUSEX<249
- IF MOUSEY>50 AND MOUSEY<60
- hilfe$="an"
- GOSUB hilfe_oscillator
- GOTO weiter2
- ENDIF
- IF MOUSEY>100 AND MOUSEY<110
- hilfe$="an"
- GOSUB hilfe_eg
- GOTO weiter2
- ENDIF
- IF MOUSEY>230 AND MOUSEY<240
- hilfe$="an"
- GOSUB hilfe_output_level
- GOTO weiter2
- ENDIF
- IF MOUSEY>342 AND MOUSEY<352
- hilfe$="an"
- GOSUB hilfe_sensitivity
- GOTO weiter2
- ENDIF
- ENDIF
- IF MOUSEX>479 AND MOUSEX<616
- IF MOUSEY>50 AND MOUSEY<60
- hilfe$="an"
- GOSUB hilfe_pitch_bend
- GOTO weiter2
- ENDIF
- IF MOUSEY>88 AND MOUSEY<98
- hilfe$="an"
- GOSUB hilfe_portamento
- GOTO weiter2
- ENDIF
- IF MOUSEY>154 AND MOUSEY<164
- hilfe$="an"
- GOSUB hilfe_modulation_wheel
- GOTO weiter2
- ENDIF
- IF MOUSEY>204 AND MOUSEY<214
- hilfe$="an"
- GOSUB hilfe_foot_control
- GOTO weiter2
- ENDIF
- IF MOUSEY>268 AND MOUSEY<278
- hilfe$="an"
- GOSUB hilfe_breath_control
- GOTO weiter2
- ENDIF
- IF MOUSEY>330 AND MOUSEY<340
- hilfe$="an"
- GOSUB hilfe_after_touch
- GOTO weiter2
- ENDIF
- ENDIF
- ENDIF
- RETURN
- > PROCEDURE hilfe_algorithm
- SGET screen$
- DO
- EXIT IF MOUSEK=0
- LOOP
- PBOX 157,49,617,389
- PBOX 34,49,157,377
- GRAPHMODE 3
- DEFTEXT ,,,6
- h#=60
- v#=65
- TEXT h#,v#,"Algorithm (1-32)"
- ADD v#,10
- TEXT h#,v#,"Diese Parameter beeinflussen die gesamte Instrumentstimme und"
- ADD v#,10
- TEXT h#,v#,"sind eine Verknüpfung der 6 Operatoren."
- ADD v#,20
- TEXT h#,v#,"Feedback - Level (0-7)"
- ADD v#,10
- TEXT h#,v#,"Ein Operator pro Algorithmus kann auf einer Skala von 0 bis 7 so"
- ADD v#,10
- TEXT h#,v#,"eingestellt werden, daß er sich durch Rückkopplung (Feedback)"
- ADD v#,10
- TEXT h#,v#,"selbst moduliert."
- ADD v#,20
- TEXT h#,v#,"Oscillator key Sync (on/off) (Oszillator-Tastensynchronisierung)"
- ADD v#,10
- TEXT h#,v#,"Wenn eingeschaltet, setzen alle Operatoren mit Phase 0 ein."
- ADD v#,20
- TEXT h#,v#,"Transpose (C1-C5) (Transponierung)"
- ADD v#,10
- TEXT h#,v#,"Die Instrumentenstimmen können um +/- 2 Oktaven transponiert"
- ADD v#,10
- TEXT h#,v#,"werden. Normaleinstellung: C3"
- DEFTEXT ,,,4
- GRAPHMODE 1
- DO
- EXIT IF MOUSEK
- LOOP
- DO
- EXIT IF MOUSEK=0
- LOOP
- SPUT screen$
- SHOWM
- RETURN
- > PROCEDURE hilfe_lfo
- SGET screen$
- DO
- EXIT IF MOUSEK=0
- LOOP
- PBOX 157,49,617,389
- PBOX 34,49,157,377
- GRAPHMODE 3
- DEFTEXT ,,,6
- h#=60
- v#=65
- TEXT h#,v#,"LFO (Niederfrequenzoszillator für alle Operatoren gemeinsam)"
- ADD v#,20
- TEXT h#,v#,"Wave: Dreiecks-, Sägezahn- (oben), Sägezahn- (unten), Rechteck-,"
- ADD v#,10
- TEXT h#,v#," Sinus-, und Zufallswelle."
- ADD v#,60
- TEXT h#,v#,"Speed: (0-99)"
- ADD v#,10
- TEXT h#,v#," Bestimmt die LFO-Frequenz."
- ADD v#,20
- TEXT h#,v#,"Delay: (0-99) (Verzögerung)"
- ADD v#,10
- TEXT h#,v#," Hiermit kann das Einsetzen des LFO zeitlich verzögert werden."
- ADD v#,20
- TEXT h#,v#,"Mode: (single, multi) (Betriebsart)"
- ADD v#,10
- TEXT h#,v#," Bei SINGLE beginnt die LFO-Phase mit dem ersten Anschlag und"
- ADD v#,10
- TEXT h#,v#," setzt sich unabhängig von nachfolgenden Anschlägen fort (d.h."
- ADD v#,10
- TEXT h#,v#," der LFO-Effekt ist für alle Noten 'synchronisiert')."
- ADD v#,10
- TEXT h#,v#," Bei MULTI hängt die LFO-Einschwingung nicht vom Anschlag ab,"
- ADD v#,10
- TEXT h#,v#," so daß jede Note mit einer anderen Phase einsetzen kann."
- ADD v#,20
- TEXT h#,v#,"Pmd: (0-99) (Tonhöhenmodulationsgrad) (siehe auch Sensitivity)"
- ADD v#,20
- TEXT h#,v#,"Amd: (0-99) (Amplitudenmodulationsgrad)"
- ADD v#,10
- TEXT h#,v#," Pmd und Amd bestimmen den Gehalt des direkt zur Instrumenten-"
- ADD v#,10
- TEXT h#,v#," stimme geschickten LFO-Signals 'automatisch', im Gegensatz zu"
- ADD v#,10
- TEXT h#,v#," reglergesteuerten Effekten usw."
- ADD v#,20
- TEXT h#,v#,"Sync: (off/on)"
- ADD v#,10
- TEXT h#,v#," Bei aktivierter Synchronisation beginnt der LFO für jede neue"
- ADD v#,10
- TEXT h#,v#," Note wieder am Nullpunkt."
- DEFTEXT ,,,4
- GRAPHMODE 1
- COLOR 0
- DRAW 140,120 TO 150,110 TO 170,130 TO 180,120
- DRAW 220,130 TO 260,110 TO 260,130
- DRAW 300,110 TO 340,130 TO 340,110
- DRAW 380,120 TO 380,110 TO 400,110 TO 400,130 TO 420,130 TO 420,120
- CLR nx#
- PLOT 460,120
- FOR i#=0 TO 360 STEP 6
- ADD nx#,240/360
- ny#=SIN(i#*PI/180)
- DRAW TO nx#+460,120-10*ny#
- NEXT i#
- DRAW 540,120 TO 540,115 TO 545,115 TO 545,125 TO 550,125 TO 550,110
- DRAW TO 555,110 TO 555,135 TO 560,135 TO 560,120 TO 565,120 TO 565,130
- DRAW TO 570,130 TO 570,125 TO 575,125 TO 575,105 TO 580,105 TO 580,135
- DRAW TO 585,135 TO 585,115 TO 590,115 TO 590,120
- COLOR 1
- DO
- EXIT IF MOUSEK
- LOOP
- DO
- EXIT IF MOUSEK=0
- LOOP
- SPUT screen$
- SHOWM
- RETURN
- > PROCEDURE hilfe_pitch_eg
- SGET screen$
- DO
- EXIT IF MOUSEK=0
- LOOP
- PBOX 157,49,617,389
- PBOX 34,49,157,377
- GRAPHMODE 3
- DEFTEXT ,,,6
- h#=60
- v#=65
- TEXT h#,v#,"Tonhöhen-EG (EG = Hüllkurvengenerator)"
- ADD v#,20
- TEXT h#,v#,"Tonhöhen-EG-Rate R1-R4 und -Pegel L1-L4 bestimmen, wie sich die"
- ADD v#,10
- TEXT h#,v#,"Tonhöhe im zeitlichen Verlauf ändert. Pegel (L) 50 ist die normale"
- ADD v#,10
- TEXT h#,v#,"Tonhöhe. Der Bereich der Tonhöhenänderung für die Pegel 0 bis 99"
- ADD v#,10
- TEXT h#,v#,"kann zwischen 1/2 und 8 Oktaven eingestellt werden. Wenn die Ton-"
- ADD v#,10
- TEXT h#,v#,"höhen-EG-Anschlagdynamik aktiviert ist, hängt die Intensität des"
- ADD v#,10
- TEXT h#,v#,"Tonhöhen-EG-Effekts von der Anschlagstärke ab. Für Ratenskalierung"
- ADD v#,10
- TEXT h#,v#,"0 verläuft die Hüllkurve für alle Noten des Keyboards gleichschnell"
- ADD v#,10
- TEXT h#,v#,"(d.h. gleiche Notendauer für alle Tasten), bei höheren Werten wird"
- ADD v#,10
- TEXT h#,v#,"die Hüllkurve für höhere Noten zunehmend 'schneller'."
- ADD v#,30
- TEXT h#,v#,"Rng: (1/2, 1, 2, 8 Oktaven) Bereich"
- ADD v#,10
- TEXT h#,v#,"Vel: (on/off) Tonhöhen-EG-Anschlagsdynamik"
- ADD v#,10
- TEXT h#,v#,"Rs: (0-7) Ratenskalierung"
- ADD v#,10
- TEXT h#,v#,"R1-4 (0-99) Rate 1-4"
- ADD v#,10
- TEXT h#,v#,"L1-4 (0-99) Pegel 1-4"
- DEFTEXT ,,,4
- GRAPHMODE 1
- DO
- EXIT IF MOUSEK
- LOOP
- DO
- EXIT IF MOUSEK=0
- LOOP
- SPUT screen$
- SHOWM
- RETURN
- > PROCEDURE hilfe_oscillator
- SGET screen$
- DO
- EXIT IF MOUSEK=0
- LOOP
- PBOX 157,49,617,389
- PBOX 34,49,157,377
- GRAPHMODE 3
- DEFTEXT ,,,6
- h#=60
- v#=65
- TEXT h#,v#,"Oszillator"
- ADD v#,20
- TEXT h#,v#,"Hier kann für jeden Operator die Frequenz eingestellt werden."
- ADD v#,30
- TEXT h#,v#,"Mode: (ratio/fixed) (Betriebsart - variierend/fest)"
- ADD v#,10
- TEXT h#,v#," Bei RATIO hängt die Frequenz des Operators von der ange-"
- ADD v#,10
- TEXT h#,v#," schlagenen Taste ab. Für die Einstellung FIXED wird die"
- ADD v#,10
- TEXT h#,v#," Frequenz in Hz angezeigt und bleibt unabhängig von der"
- ADD v#,10
- TEXT h#,v#," angeschlagenen Taste immer gleich."
- ADD v#,20
- TEXT h#,v#,"Coarse/Fine: (Grob-/Feineinstellung)"
- ADD v#,10
- TEXT h#,v#," Wird der linke Teil des Operatorfeldes angeklickt, erfolgt"
- ADD v#,10
- TEXT h#,v#," die Einstellung in groben Schritten, beim rechten Teil in"
- ADD v#,10
- TEXT h#,v#," Feinschritten."
- ADD v#,20
- TEXT h#,v#,"Detune: (Einstimmung)"
- ADD v#,10
- TEXT h#,v#," Eine 'extrafeine' Frequenzeinstellung über einen Bereich"
- ADD v#,10
- TEXT h#,v#," von etwa +/- 2 Halbtonhundertstel."
- DEFTEXT ,,,4
- GRAPHMODE 1
- DO
- EXIT IF MOUSEK
- LOOP
- DO
- EXIT IF MOUSEK=0
- LOOP
- SPUT screen$
- SHOWM
- RETURN
- > PROCEDURE hilfe_eg
- SGET screen$
- DO
- EXIT IF MOUSEK=0
- LOOP
- PBOX 157,49,617,389
- PBOX 34,49,157,377
- GRAPHMODE 3
- DEFTEXT ,,,6
- h#=60
- v#=65
- TEXT h#,v#,"Hüllkurvengenerator"
- ADD v#,20
- TEXT h#,v#,"Hüllkurvengenerator und Skalierung für die einzelnen Operatoren."
- ADD v#,10
- TEXT h#,v#,"Es stehen zwei Anzeigen zur Wahl. Die eine Anzeige stellt alle"
- ADD v#,10
- TEXT h#,v#,"Hüllkurvenparameter für die Operatoren numerisch dar. Die andere"
- ADD v#,10
- TEXT h#,v#,"ist eine grafische Darstellung der einzelnen Operatoren."
- ADD v#,10
- TEXT h#,v#,"Feld OP zeigt alle 6 Operatoren, und Felder 1...6 zeigt sie einzeln."
- ADD v#,30
- TEXT h#,v#,"Rate scaling (0-7) (Ratenskalierung)"
- ADD v#,10
- TEXT h#,v#," Bei einer Einstellung von 0 ist die geschwindigkeit der"
- ADD v#,10
- TEXT h#,v#," Hüllkurve für alle Tasten gleich. Je höher der Wert, umso"
- ADD v#,10
- TEXT h#,v#," schneller wird die Hüllkurve."
- ADD v#,20
- TEXT h#,v#,"Rate 1-4 (0-99) (Verhältnis)"
- ADD v#,10
- TEXT h#,v#,"Level 1-4 (Pegel)"
- ADD v#,10
- TEXT h#,v#," Rate und Level 1-4 bestimmen die 'Gestalt' der Hüllkurve."
- DEFTEXT ,,,4
- GRAPHMODE 1
- DO
- EXIT IF MOUSEK
- LOOP
- DO
- EXIT IF MOUSEK=0
- LOOP
- SPUT screen$
- SHOWM
- RETURN
- > PROCEDURE hilfe_output_level
- SGET screen$
- DO
- EXIT IF MOUSEK=0
- LOOP
- PBOX 157,49,617,389
- PBOX 34,49,157,377
- GRAPHMODE 3
- DEFTEXT ,,,6
- h#=60
- v#=65
- TEXT h#,v#,"Ausgangspegel"
- ADD v#,30
- TEXT h#,v#,"Level: (0-99) Operator-Ausgangspegel"
- ADD v#,10
- TEXT h#,v#,"Ld: (0-99) Skalierungsgrad links"
- ADD v#,10
- TEXT h#,v#,"Lc: (+/-, lin/exp) Linke Skalierungskurve (linear/exponential)"
- ADD v#,10
- TEXT h#,v#,"Bp: (A-1 - C8) Grenzpunkt"
- ADD v#,10
- TEXT h#,v#,"Rc: (+/-, lin/exp) Rechte Skalierungskurve"
- ADD v#,10
- TEXT h#,v#,"Rd: (0-99) Skalierungsgrad rechts"
- DEFTEXT ,,,4
- BOX 200,200,400,300
- GRAPHMODE 1
- COLOR 0
- DRAW 200,200 TO 400,300
- DRAW 200,300 TO 400,200
- DRAW 300,200 TO 300,300
- DRAW 200,250 TO 400,250
- DRAW 300,200 TO 300,300
- CIRCLE 300,120,130,2200,3200
- CIRCLE 300,380,130,400,1400
- COLOR 1
- GRAPHMODE 3
- TEXT 220,245,"+EXP"
- TEXT 220,258,"-EXP"
- TEXT 360,245,"+EXP"
- TEXT 360,258,"-EXP"
- TEXT 250,225,"+LIN"
- TEXT 250,280,"-LIN"
- TEXT 325,225,"+LIN"
- TEXT 325,280,"-LIN"
- GRAPHMODE 1
- COLOR 0
- DEFLINE ,,1,1
- DRAW 185,200 TO 185,300
- DRAW 415,200 TO 415,300
- DEFLINE ,,0,1
- DRAW 300,310 TO 300,300
- DEFLINE ,,0,0
- GRAPHMODE 3
- COLOR 1
- TEXT 160,245,"LEFT"
- TEXT 154,258,"DEPTH"
- TEXT 417,245,"RIGHT"
- TEXT 417,258,"DEPTH"
- TEXT 240,184,"KEYBOARD LEVEL SCALING"
- TEXT 200,198,"LEFT CURVE RIGHT CURVE"
- TEXT 270,320,"BREAK POINT"
- GRAPHMODE 1
- DO
- EXIT IF MOUSEK
- LOOP
- DO
- EXIT IF MOUSEK=0
- LOOP
- SPUT screen$
- SHOWM
- RETURN
- > PROCEDURE hilfe_sensitivity
- SGET screen$
- DO
- EXIT IF MOUSEK=0
- LOOP
- PBOX 157,49,617,389
- PBOX 34,49,157,377
- GRAPHMODE 3
- DEFTEXT ,,,6
- h#=60
- v#=65
- TEXT h#,v#,"Empfindlichkeit"
- ADD v#,20
- TEXT h#,v#,"Anschlagdynamik- und Amplitudenmodulations-Empfindlichkeit für die"
- ADD v#,10
- TEXT h#,v#,"einzelnen Operatoren, sowie Tonhöhen'modulations'empfindlichkeit"
- ADD v#,10
- TEXT h#,v#,"(gemeinsam für alle Operatoren)."
- ADD v#,30
- TEXT h#,v#,"Velocity (0-7) (Empfindlichkeit für Anschlagdynamik)"
- ADD v#,10
- TEXT h#,v#,"Hiermit wird eingestellt, wie stark sich die Anschlagsdynamik auf"
- ADD v#,10
- TEXT h#,v#,"den Ausgangspegel der einzelnen Operatoren auswirkt. Bei 0 bleibt"
- ADD v#,10
- TEXT h#,v#,"die Anschlagsdynamik wirkungslos."
- ADD v#,20
- TEXT h#,v#,"Ams: (0-7) (Empfindlichkeit für Amplitudenmodulation)"
- ADD v#,10
- TEXT h#,v#,"Hiermit wird bestimmt, wie der Operator auf die vom LFO (Nieder-"
- ADD v#,10
- TEXT h#,v#,"frequenzoszillator) und durch EG-Bias (Vorspannung des Hüllkurven-"
- ADD v#,10
- TEXT h#,v#,"generators) erhaltene Amplitudenmodulation anspricht. Bei 0 bleibt"
- ADD v#,10
- TEXT h#,v#,"der Operator unbeeinflußt."
- ADD v#,20
- TEXT h#,v#,"Pms: (0-7) (Empfindlichkeit für Tonhöhenmodulation)"
- ADD v#,10
- TEXT h#,v#,"Hiermit wird eingestellt, wie die gesamte Stimme auf Tonhöhen-"
- ADD v#,10
- TEXT h#,v#,"modulationssignale vom LFO anspricht. Bei 0 ändert sich die Ton-"
- ADD v#,10
- TEXT h#,v#,"höhe der Instrumentstimme nicht."
- DEFTEXT ,,,4
- GRAPHMODE 1
- DO
- EXIT IF MOUSEK
- LOOP
- DO
- EXIT IF MOUSEK=0
- LOOP
- SPUT screen$
- SHOWM
- RETURN
- > PROCEDURE hilfe_pitch_bend
- SGET screen$
- DO
- EXIT IF MOUSEK=0
- LOOP
- PBOX 157,49,617,389
- PBOX 34,49,157,377
- GRAPHMODE 3
- DEFTEXT ,,,6
- h#=60
- v#=65
- TEXT h#,v#,"Tonhöhenbeugung"
- ADD v#,20
- TEXT h#,v#,"Range: (0-12) (Bereich)"
- ADD v#,10
- TEXT h#,v#," Bei der Einstellung 0 bleibt das Tonhöhenbeugungsrad"
- ADD v#,10
- TEXT h#,v#," ohne Wirkung. Bei 12 beträgt die maximale Tonhöhenbeugung"
- ADD v#,10
- TEXT h#,v#," eine Oktave."
- ADD v#,20
- TEXT h#,v#,"Step: (0-12) (Schritt)"
- ADD v#,10
- TEXT h#,v#," Bei der Einstellung 0 erfolgt die Tonhöhenbeugung"
- ADD v#,10
- TEXT h#,v#," übergangslos. Bei Einstellungen zwischen 1 und 12 erfolgt"
- ADD v#,10
- TEXT h#,v#," die Tonhöhenbeugung in 'Schritten' von 1 bis 12 Halbtönen,"
- ADD v#,10
- TEXT h#,v#," wobei als Bereich (Range) automatisch 12 vorgegeben ist."
- DEFTEXT ,,,4
- GRAPHMODE 1
- DO
- EXIT IF MOUSEK
- LOOP
- DO
- EXIT IF MOUSEK=0
- LOOP
- SPUT screen$
- SHOWM
- RETURN
- > PROCEDURE hilfe_portamento
- SGET screen$
- DO
- EXIT IF MOUSEK=0
- LOOP
- PBOX 157,49,617,389
- PBOX 34,49,157,377
- GRAPHMODE 3
- DEFTEXT ,,,6
- h#=60
- v#=65
- TEXT h#,v#,"Portamento"
- ADD v#,20
- TEXT h#,v#,"Für das Portamento (gleitender Übergang zwischen Noten) gibt es zwei"
- ADD v#,10
- TEXT h#,v#,"Betriebsarten, die von der gewählten Tastenbetriebsart (Poly/Mono)"
- ADD v#,10
- TEXT h#,v#,"abhängig sind. Portamento kann über entsprechende MIDI-Meldungen"
- ADD v#,10
- TEXT h#,v#,"ein- und ausgeschaltet werden."
- ADD v#,20
- TEXT h#,v#,"Portamento-Betriebsart"
- ADD v#,20
- TEXT h#,v#,"Für Poly:"
- ADD v#,20
- TEXT h#,v#," Sus. Key Retrain: Mit dem Sustain-Pedal angehaltene Noten bleiben"
- ADD v#,10
- TEXT h#,v#," beim Übergang zur neuen Note erhalten."
- ADD v#,20
- TEXT h#,v#," Sus. Key Follow: Mit dem Sustain-Pedal angehaltene Noten gleiten"
- ADD v#,10
- TEXT h#,v#," in die nächste über."
- ADD v#,20
- TEXT h#,v#,"Für Mono:"
- ADD v#,20
- TEXT h#,v#," Finger-Portamento: Portamento erfolgt nur, wenn eine Taste beim"
- ADD v#,10
- TEXT h#,v#," Anschlagen einer neuen noch niedergedrückt ist."
- ADD v#,20
- TEXT h#,v#," Volles Portamento: Portamento wird immer erzeugt."
- ADD v#,20
- TEXT h#,v#,"Step: (0-12) (Schritt)"
- ADD v#,10
- TEXT h#,v#," Das 'Übergleiten' von einer Note zur nächsten kann übergangs-"
- ADD v#,10
- TEXT h#,v#," los (Step=0) oder in Schritten von bis zu einer Oktave erfolgen"
- ADD v#,20
- TEXT h#,v#,"Time: (0-99) (Portamentozeit)"
- ADD v#,10
- TEXT h#,v#," Hiermit bestimmen Sie die für den Übergang von einer Note zur"
- ADD v#,10
- TEXT h#,v#," anderen benötigte Zeit. Bei 0 ist der Effekt ausgeschaltet."
- ADD v#,10
- TEXT h#,v#," 99 entspricht dem langsamsten Portamento."
- DEFTEXT ,,,4
- GRAPHMODE 1
- DO
- EXIT IF MOUSEK
- LOOP
- DO
- EXIT IF MOUSEK=0
- LOOP
- SPUT screen$
- SHOWM
- RETURN
- > PROCEDURE hilfe_modulation_wheel
- SGET screen$
- DO
- EXIT IF MOUSEK=0
- LOOP
- PBOX 157,49,617,389
- PBOX 34,49,157,377
- GRAPHMODE 3
- DEFTEXT ,,,6
- h#=60
- v#=65
- TEXT h#,v#,"Modulationsrad"
- ADD v#,20
- TEXT h#,v#,"Pmod: (0-99) (Tonhöhenmodulation)"
- ADD v#,10
- TEXT h#,v#,"Amod: (0-99) (Amplitudenmodulation)"
- ADD v#,10
- TEXT h#,v#,"EG-Bias: (0-99) (Vorspannung des Hüllkurvengenerators)"
- ADD v#,10
- TEXT h#,v#,"Volume: (0-99) (Lautstärke)"
- ADD v#,30
- TEXT h#,v#,"Hier können Sie bestimmen, wie die Instrumente auf ankommende"
- ADD v#,10
- TEXT h#,v#,"Modulationsrad- bzw. Schwellerpedal-Signale reagiert, mit denen"
- ADD v#,10
- TEXT h#,v#,"die Stärke der vom LFO kommenden Amplituden- bzw. Tonhöhen-"
- ADD v#,10
- TEXT h#,v#,"modulation geregelt werden kann. Die Regler können jedoch auch"
- ADD v#,10
- TEXT h#,v#,"direkt den Ausgangspegel von Operatoren beeinflussen d.h. den"
- ADD v#,10
- TEXT h#,v#,"Hüllkurvengenerator (EG) 'vorspannen'. (Der Operator muß auf die"
- ADD v#,10
- TEXT h#,v#,"Amplitudenmodulation ansprechen können, d.h. mit einer entsprech-"
- ADD v#,10
- TEXT h#,v#,"enden Empfindlichkeitseinstellung programmiert sein.) Bei höheren"
- ADD v#,10
- TEXT h#,v#,"Werten nimmt der Reglereffekt zu. Das Schwellerpedal (jedoch nicht"
- ADD v#,10
- TEXT h#,v#,"der Modulationsregler) kann ebenfalls die Lautstärke beeinflussen."
- DEFTEXT ,,,4
- GRAPHMODE 1
- DO
- EXIT IF MOUSEK
- LOOP
- DO
- EXIT IF MOUSEK=0
- LOOP
- SPUT screen$
- SHOWM
- RETURN
- > PROCEDURE hilfe_foot_control
- SGET screen$
- DO
- EXIT IF MOUSEK=0
- LOOP
- PBOX 157,49,617,389
- PBOX 34,49,157,377
- GRAPHMODE 3
- DEFTEXT ,,,6
- h#=60
- v#=65
- TEXT h#,v#,"Schwellerpedal"
- ADD v#,20
- TEXT h#,v#,"Pmod: (0-99) (Tonhöhenmodulation)"
- ADD v#,10
- TEXT h#,v#,"Amod: (0-99) (Amplitudenmodulation)"
- ADD v#,10
- TEXT h#,v#,"EG-Bias: (0-99) (Vorspannung des Hüllkurvengenerators)"
- ADD v#,10
- TEXT h#,v#,"Volume: (0-99) (Lautstärke)"
- ADD v#,30
- TEXT h#,v#,"Hier können Sie bestimmen, wie die Instrumente auf ankommende"
- ADD v#,10
- TEXT h#,v#,"Modulationsrad- bzw. Schwellerpedal-Signale reagiert, mit denen"
- ADD v#,10
- TEXT h#,v#,"die Stärke der vom LFO kommenden Amplituden- bzw. Tonhöhen-"
- ADD v#,10
- TEXT h#,v#,"modulation geregelt werden kann. Die Regler können jedoch auch"
- ADD v#,10
- TEXT h#,v#,"direkt den Ausgangspegel von Operatoren beeinflussen d.h. den"
- ADD v#,10
- TEXT h#,v#,"Hüllkurvengenerator (EG) 'vorspannen'. (Der Operator muß auf die"
- ADD v#,10
- TEXT h#,v#,"Amplitudenmodulation ansprechen können, d.h. mit einer entsprech-"
- ADD v#,10
- TEXT h#,v#,"enden Empfindlichkeitseinstellung programmiert sein.) Bei höheren"
- ADD v#,10
- TEXT h#,v#,"Werten nimmt der Reglereffekt zu. Das Schwellerpedal (jedoch nicht"
- ADD v#,10
- TEXT h#,v#,"der Modulationsregler) kann ebenfalls die Lautstärke beeinflussen."
- DEFTEXT ,,,4
- GRAPHMODE 1
- DO
- EXIT IF MOUSEK
- LOOP
- DO
- EXIT IF MOUSEK=0
- LOOP
- SPUT screen$
- SHOWM
- RETURN
- > PROCEDURE hilfe_breath_control
- SGET screen$
- DO
- EXIT IF MOUSEK=0
- LOOP
- PBOX 157,49,617,389
- PBOX 34,49,157,377
- GRAPHMODE 3
- DEFTEXT ,,,6
- h#=60
- v#=65
- TEXT h#,v#,"Blaswandler"
- ADD v#,20
- TEXT h#,v#,"Pmod: (0-99) (Tonhöhenmodulation)"
- ADD v#,10
- TEXT h#,v#,"Amod: (0-99) (Amplitudenmodulation)"
- ADD v#,10
- TEXT h#,v#,"EG-Bias: (0-99) (Vorspannung des Hüllkurvengenerators)"
- ADD v#,10
- TEXT h#,v#,"P bias: (-50 - +50) (Tonhöhenvorspannung)"
- ADD v#,30
- TEXT h#,v#,"Hier können Sie bestimmen, wie die Instrumente auf ankommende"
- ADD v#,10
- TEXT h#,v#,"Modulationsrad- bzw. Schwellerpedal-Signale reagiert, mit denen"
- ADD v#,10
- TEXT h#,v#,"die Stärke der vom LFO kommenden Amplituden- bzw. Tonhöhen-"
- ADD v#,10
- TEXT h#,v#,"modulation geregelt werden kann. Die Regler können jedoch auch"
- ADD v#,10
- TEXT h#,v#,"direkt den Ausgangspegel von Operatoren beeinflussen d.h. den"
- ADD v#,10
- TEXT h#,v#,"Hüllkurvengenerator (EG) 'vorspannen'. (Der Operator muß auf die"
- ADD v#,10
- TEXT h#,v#,"Amplitudenmodulation ansprechen können, d.h. mit einer entsprech-"
- ADD v#,10
- TEXT h#,v#,"enden Empfindlichkeitseinstellung programmiert sein.) Bei höheren"
- ADD v#,10
- TEXT h#,v#,"Werten nimmt der Reglereffekt zu."
- ADD v#,20
- TEXT h#,v#,"Neben den drei oben bereits erklärten Parametern können Sie hier"
- ADD v#,10
- TEXT h#,v#,"den Blaswandler über die 'Tonhöhenvorspannung' direkt auf die"
- ADD v#,10
- TEXT h#,v#,"Töne einwirken lassen. Positive Werte führen zu einem Anstieg der"
- ADD v#,10
- TEXT h#,v#,"Tonhöhe, negative zu einem Abfall."
- DEFTEXT ,,,4
- GRAPHMODE 1
- DO
- EXIT IF MOUSEK
- LOOP
- DO
- EXIT IF MOUSEK=0
- LOOP
- SPUT screen$
- SHOWM
- RETURN
- > PROCEDURE hilfe_after_touch
- SGET screen$
- DO
- EXIT IF MOUSEK=0
- LOOP
- PBOX 157,49,617,389
- PBOX 34,49,157,377
- GRAPHMODE 3
- DEFTEXT ,,,6
- h#=60
- v#=65
- TEXT h#,v#,"Freigabedynamik"
- ADD v#,20
- TEXT h#,v#,"Pmod: (0-99) (Tonhöhenmodulation)"
- ADD v#,10
- TEXT h#,v#,"Amod: (0-99) (Amplitudenmodulation)"
- ADD v#,10
- TEXT h#,v#,"EG-Bias: (0-99) (Vorspannung des Hüllkurvengenerators)"
- ADD v#,10
- TEXT h#,v#,"P bias: (-50 - +50) (Tonhöhenvorspannung)"
- ADD v#,30
- TEXT h#,v#,"Hier können Sie bestimmen, wie die Instrumente auf ankommende"
- ADD v#,10
- TEXT h#,v#,"Modulationsrad- bzw. Schwellerpedal-Signale reagiert, mit denen"
- ADD v#,10
- TEXT h#,v#,"die Stärke der vom LFO kommenden Amplituden- bzw. Tonhöhen-"
- ADD v#,10
- TEXT h#,v#,"modulation geregelt werden kann. Die Regler können jedoch auch"
- ADD v#,10
- TEXT h#,v#,"direkt den Ausgangspegel von Operatoren beeinflussen d.h. den"
- ADD v#,10
- TEXT h#,v#,"Hüllkurvengenerator (EG) 'vorspannen'. (Der Operator muß auf die"
- ADD v#,10
- TEXT h#,v#,"Amplitudenmodulation ansprechen können, d.h. mit einer entsprech-"
- ADD v#,10
- TEXT h#,v#,"enden Empfindlichkeitseinstellung programmiert sein.) Bei höheren"
- ADD v#,10
- TEXT h#,v#,"Werten nimmt der Reglereffekt zu."
- ADD v#,20
- TEXT h#,v#,"Neben den drei oben bereits erklärten Parametern können Sie hier"
- ADD v#,10
- TEXT h#,v#,"die Freigabedynamik über die 'Tonhöhenvorspannung' direkt auf die"
- ADD v#,10
- TEXT h#,v#,"Töne einwirken lassen. Positive Werte führen zu einem Anstieg der"
- ADD v#,10
- TEXT h#,v#,"Tonhöhe, negative zu einem Abfall."
- DEFTEXT ,,,4
- GRAPHMODE 1
- DO
- EXIT IF MOUSEK
- LOOP
- DO
- EXIT IF MOUSEK=0
- LOOP
- SPUT screen$
- SHOWM
- RETURN
- ' --------------------------------HILFSTEXT AUSGEBEN (ENDE)
- > PROCEDURE plus
- l#=1
- INC vn#
- IF vn#>64
- vn#=1
- ENDIF
- DEFTEXT 1,0,0,6
- IF vn#<10
- TEXT 5,40,"0"
- TEXT 13,40,vn#
- ELSE
- TEXT 5,40,vn#
- ENDIF
- DEFTEXT 1,0,0,4
- GOSUB list_voicename
- SHOWM
- DO
- EXIT IF MOUSEK=0 OR MOUSEK=2 OR MOUSEK=3
- LOOP
- IF MOUSEK=0 OR MOUSEK=1 OR MOUSEK=2
- CLR l#
- GOSUB list_algorithm
- GOSUB list_lfo
- GOSUB list_pitch_eg
- GOSUB list_oscillator
- GOSUB list_eg
- GOSUB list_scaling_mode
- GOSUB list_sensitivity
- GOSUB list_pitch_bend
- GOSUB list_portamento
- GOSUB list_modulations_wheel
- GOSUB list_foot_control
- GOSUB list_breath_control
- GOSUB list_aftertouch
- ELSE
- PAUSE 10
- ENDIF
- SHOWM
- RETURN
- > PROCEDURE minus
- l#=1
- DEC vn#
- IF vn#<1
- vn#=64
- ENDIF
- DEFTEXT 1,0,0,6
- IF vn#<10
- TEXT 5,40,"0"
- TEXT 13,40,vn#
- ELSE
- TEXT 5,40,vn#
- ENDIF
- DEFTEXT 1,0,0,4
- GOSUB list_voicename
- SHOWM
- DO
- EXIT IF MOUSEK=0 OR MOUSEK=2 OR MOUSEK=3
- LOOP
- IF MOUSEK=0 OR MOUSEK=1 OR MOUSEK=2
- CLR l#
- GOSUB list_algorithm
- GOSUB list_lfo
- GOSUB list_pitch_eg
- GOSUB list_oscillator
- GOSUB list_eg
- GOSUB list_scaling_mode
- GOSUB list_sensitivity
- GOSUB list_pitch_bend
- GOSUB list_portamento
- GOSUB list_modulations_wheel
- GOSUB list_foot_control
- GOSUB list_breath_control
- GOSUB list_aftertouch
- ELSE
- PAUSE 10
- ENDIF
- SHOWM
- RETURN
-